// *****************************************************************************
// * Config_SIOC ver 5.2   -     By Manuel Velez    -    www.opencockpits.com
// *****************************************************************************
// * FileName : PMDG B737 v7.0PED-V2.txt
// * Date : 6/17/2024



Var 0000, Value 0
{
  &COM1_Power_ON = 0    
  &NAV1_Power_ON = 0    
  &COM2_Power_ON = 0    
  &NAV2_Power_ON = 0    
  &ADF_Power_ON = 0    
  &ATC_Power_ON = 0    
  &CDU1_POWER_ON = 0    
  &CDU2_POWER_ON = 0    
  &MCP_POWER_ON = 0    
  &MIP_POWER_ON = 0    
  &AUDI1_POWER_ON = 0    
  &AUDI2_POWER_ON = 0    
  &AUDI3_POWER_ON = 0    
  &sAU1ALT_NORM = 0    
  &sAU2ALT_NORM = 0    
  &sAU3ALT_NORM = 0    
  &SPOILER_A_G = 0    
  &SPOILER_A_SW = 0    
  &SPOILER_B_G = 0    
  &SPOILER_B_SW = 0    
  &ALT_FLAPS_G = 0    
  &ALT_FLAPS = 0    
  &D_MACHDP = 1    
  &ENG1_Servo = 512    
  &ENG2_Servo = 512    
  &sYAW_DAMPER = 0    
  &sFUEL_P1_Aft = 0    
  &sFUEL_P1_Fwd = 0    
  &sFUEL_P2_Aft = 0    
  &sFUEL_P2_Fwd = 0    
  &sFUEL_PL_Ctr = 0    
  &sFUEL_PR_Ctr = 0    
  &sEL_CAB_UT = 0    
  &sEL_GALLEY = 0    
  &sEC_SUPPLY = 0    
  &sEC_EXHAUST = 0    
  &sWINDOW_HEAT_1 = 0    
  &sWINDOW_HEAT_2 = 0    
  &sWINDOW_HEAT_3 = 0    
  &sWINDOW_HEAT_4 = 0    
  &sWING_ANTI_ICE = 0    
  &sHYD_ENG_L = 0    
  &sHYD_ELEC_R = 0    
  &sHYD_ELEC_L = 0    
  &sHYD_ENG_R = 0    
  &sTRIM_AIR = 0    
  &sAPU_BLEED = 0    
  &sENG_1_BLEED = 0    
  &sENG_2_BLEED = 0    
  &sRECIRC_FAN_L = 0    
  &sRECIRC_FAN_R = 0    
  &sENG_ANTI_ICE1 = 0    
  &sENG_ANTI_ICE2 = 0    
  &sPROBE_HEAT_1 = 0    
  &sPROBE_HEAT_2 = 0    
  &sRETRACTABLE_L = 0    
  &sRETRACTABLE_R = 0    
  &sFIXED_L = 0    
  &sFIXED_R = 0    
  &sRUNWAY_TO_L = 0    
  &sRUNWAY_TO_R = 0    
  &sTAXI = 0    
  &sLOGO = 0    
  &sANTI_COL = 0    
  &sWING = 0    
  &sWHEEL_WELL = 0    
  &sADF_MODE_SEL = 0    
  &ADF_TONE_SW = 1    
}

Var 0001, name OVH_AFT_POW_ON, static

Var 0002, name OVH_FWD_POW_ON, static

Var 0004, name MIP_POWER_ON, static

Var 0005, name CDU1_POWER_ON, static

Var 0006, name CDU2_POWER_ON, static

Var 0007, name TH_POWER_ON, static

Var 0008, name FP_POWER_ON, static

Var 0009, name AUDI1_POWER_ON, static, Link SUBRUTINE
{
  IF &AUDI1_POWER_ON = 0
  {
    &aAU1VH2MI = 0    
    &aAU1VH1MI = 0    
    &rec_1 = 0    
  }
  ELSE
  {
    IF &micsel_1 = 0
    {
      &aAU1VH1MI = 1    
      &aAU1VH2MI = 0    
    }
    IF &micsel_1 = 1
    {
      &aAU1VH2MI = 1    
      &aAU1VH1MI = 0    
    }
  }
}

Var 0010, name AUDI2_POWER_ON, static, Link SUBRUTINE
{
  IF &AUDI2_POWER_ON = 0
  {
    &aAU2VH2MI = 0    
    &aAU2VH1MI = 0    
    &rec_2 = 0    
  }
  ELSE
  {
    IF &micsel_2 = 0
    {
      &aAU2VH1MI = 1    
      &aAU2VH2MI = 0    
    }
    IF &micsel_2 = 1
    {
      &aAU2VH2MI = 1    
      &aAU2VH1MI = 0    
    }
  }
}

Var 0011, name AUDI3_POWER_ON, static, Link SUBRUTINE
{
  IF &AUDI3_POWER_ON = 0
  {
    &aAU3VH2MI = 0    
    &aAU3VH1MI = 0    
    &rec_3 = 0    
  }
  ELSE
  {
    IF &micsel_3 = 0
    {
      &aAU3VH1MI = 1    
      &aAU3VH2MI = 0    
    }
    IF &micsel_3 = 1
    {
      &aAU3VH2MI = 1    
      &aAU3VH1MI = 0    
    }
  }
}

Var 0012, name COM1_Power_ON, static, Link SUBRUTINE
{
  IF &COM1_Power_ON = 0
  {
    &D_AC_COM1 = -999999    
    &O_AC_COM1DP = 0    
    &D_ST_COM1 = -999999    
    &O_ST_COM1DP = 0    
  }
  ELSE
  {
    &D_AC_COM1 = &AC_COM1 + 10000
    &O_AC_COM1DP = 1    
    &D_ST_COM1 = &ST_COM1 + 10000
    &O_ST_COM1DP = 1    
  }
}

Var 0013, name NAV1_Power_ON, static, Link SUBRUTINE
{
  IF &NAV1_Power_ON = 0
  {
    &D_AC_NAV1 = -999999    
    &O_AC_NAV1DP = 0    
    &D_ST_NAV1 = -999999    
    &O_ST_NAV1DP = 0    
  }
  ELSE
  {
    &D_AC_NAV1 = &AC_NAV1 + 10000     // display active NAV1 frequency leading 1
    &O_AC_NAV1DP = 1    
    &D_ST_NAV1 = &ST_NAV1 + 10000     // display standby NAV1 frequency leading 1
    &O_ST_NAV1DP = 1    
  }
}

Var 0015, name CFP_Power_ON, static

Var 0017, name COM2_Power_ON, static, Link SUBRUTINE
{
  IF &COM2_Power_ON = 0
  {
    &D_AC_COM2 = -999999    
    &O_AC_COM2DP = 0    
    &D_ST_COM2 = -999999    
    &O_ST_COM2DP = 0    
  }
  ELSE
  {
    &D_AC_COM2 = &AC_COM2 + 10000
    &O_AC_COM2DP = 1    
    &D_ST_COM2 = &ST_COM2 + 10000
    &O_ST_COM2DP = 1    
  }
}

Var 0018, name NAV2_Power_ON, static, Link SUBRUTINE
{
  IF &NAV2_Power_ON = 0
  {
    &D_AC_NAV2 = -999999    
    &O_AC_NAV2DP = 0    
    &D_ST_NAV2 = -999999    
    &O_ST_NAV2DP = 0    
  }
  ELSE
  {
    &D_AC_NAV2 = &AC_NAV2 + 10000     // display active NAV2 frequency leading 1
    &O_AC_NAV2DP = 1    
    &D_ST_NAV2 = &ST_NAV2 + 10000     // display standby NAV2 frequency leading 1
    &O_ST_NAV2DP = 1    
  }
}

Var 0003, name ADF_Power_ON, Link SUBRUTINE
{
  IF &ADF_Power_ON = 0
  {
    CALL &AdfOff
  }
  ELSE
  {
    CALL &Ad1DspAct
    CALL &Ad1DspStb
    CALL &ADFSymbols
  }
}

Var 1616, name DC_HOT_BAT, static

Var 1617, name DC_HOT_BAT_SW, static

Var 1618, name DC_BAT, static
{
  &BusSum1 = &DC_BAT + &DC_BUS_2
  CALL &FlLaAlt
  IF &DC_BAT = 0
  {
    &DC_AMP1 = -999999         // clear AC/DC meter display
    &DC_AMP0 = -999999    
    &DC_VOLT1 = -999999    
    &DC_VOLT0 = -999999    
    &AC_AMP1 = -999999    
    &AC_AMP0 = -999999    
    &AC_VOLT2 = -999999    
    &AC_VOLT1 = -999999    
    &AC_VOLT0 = -999999    
    &CPS_FREQ2 = -999999    
    &CPS_FREQ1 = -999999    
    &CPS_FREQ0 = -999999    
  }
  ELSE
  {
    &DC_AMP1 = &EDCA1         // reload AC/DC meter display
    &DC_AMP0 = &EDCA0    
    &DC_VOLT1 = &EDCV1    
    &DC_VOLT0 = &EDCV0    
    &AC_AMP1 = &EACA1    
    &AC_AMP0 = &EACA0    
    &AC_VOLT2 = &EACV2    
    &AC_VOLT1 = &EACV1    
    &AC_VOLT0 = &EACV0    
    &CPS_FREQ2 = &ECPS2    
    &CPS_FREQ1 = &ECPS1    
    &CPS_FREQ0 = &ECPS0    
  }
}

Var 1619, name DC_STANDBY, static
{
  &COM1_Power_ON = &DC_STANDBY    
}

Var 1620, name DC_BUS_1, static
{
  &BusSum2 = &DC_BUS_1 + &DC_BUS_2
}

Var 1621, name DC_BUS_2, static
{
  &BusSum1 = &DC_BAT + &DC_BUS_2
  &BusSum2 = &DC_BUS_1 + &DC_BUS_2
  &COM2_Power_ON = &DC_BUS_2    
}

Var 1622, name DC_GROUND_SVC, static

Var 1623, name AC_TRANSFER_1, static
{
  CALL &FlLaAlt
}

Var 1624, name AC_TRANSFER_2, static
{
  &NAV2_Power_ON = &AC_TRANSFER_2    
  CALL &FlLaAlt
  CALL &g_FT
}

Var 1625, name AC_GROUND_SVC1, static

Var 1626, name AC_GROUND_SVC2, static

Var 1627, name AC_MAIN_1, static

Var 1628, name AC_MAIN_2, static

Var 1629, name AC_GALLEY_1, static

Var 1630, name AC_GALLEY_2, static

Var 1631, name AC_STANDBY, static
{
  &NAV1_Power_ON = &AC_STANDBY    
  &ADF_Power_ON = &AC_STANDBY    
  &ATC_Power_ON = &AC_STANDBY    
  &MIP_POWER_ON = &AC_STANDBY    
  &OVH_AFT_POW_ON = &AC_STANDBY    
}

Var 1632, name MCP_POWER_ON, static
{
  IF &MCP_POWER_ON = 1
  {
    CALL &MCP_REFRESH
  }
  IF &MCP_POWER_ON = 0
  {
    &D_CrsL = -999999    
    &D_IAS = -999999    
    &D_IAS3 = -999999    
    &D_IAS_IND = -999999         // Not working show _ and not 8 when in lig
    &D_MACHDP = 0    
    &D_Hdg = -999999    
    &D_ALT = -999999    
    &D_ALTL0 = -999999    
    &D_ALTL00 = -999999    
    &D_VSS = -999999    
    &D_VS3 = -999999    
    &D_VS4 = -999999    
    &D_VS = -999999    
    &D_CrsR = -999999    
  }
}

Var 0014, name BusSum1     // combines &DC_BAT + &DC_BUS_2 may be 0 1 
{
  IF &BusSum1 > 1
  {
    &AUDI1_POWER_ON = 1    
    &AUDI2_POWER_ON = 1    
    &AUDI3_POWER_ON = 1    
  }
  ELSE
  {
    &AUDI1_POWER_ON = 0    
    &AUDI2_POWER_ON = 0    
    &AUDI3_POWER_ON = 0    
  }
}

Var 0016, name BusSum2     // combines &DC_BUS_1 + &DC_BUS_2 may be 0 
{
  IF &BusSum2 > 0
  {
    CALL &FlapsDisplayL
    CALL &FlapsDisplayR
  }
  ELSE
  {
    CALL &AllOffL
    CALL &AllOffR
  }
}

Var 2800, name OVHSTATE, static, Value 1

Var 1085, name Battery_SEL, static

Var 1093, name EL_STBY_PWR_ST, static

Var 0019, name MCP_REFRESH, Link SUBRUTINE
{
  &bBANKHDG = 0    
  IF &IASBlank = 1
  {
    CALL &BLANKtIASw
  }
  ELSE
  {
    IF &IASfromNGX > 99
    {
      CALL &IAStMCPw
      &D_MACHDP = 0    
    }
    ELSE
    {
      CALL &MACHtMCPw
    }
  }
  CALL &CRSLtMCPw
  CALL &HDGtMCPw
  CALL &ALTtMCPw
  CALL &VStMCPw
  CALL &CRSRtMCPw
}

Var 1103, name aSOURCE_OFF_1, static, Link IOCARD_OUT, Device 30, Output 12

Var 1104, name aSOURCE_OFF_2, static, Link IOCARD_OUT, Device 30, Output 14

Var 1105, name aGEN_OFF_BUS_1, static, Link IOCARD_DISPLAY, Device 30, Digit 38, Numbers 1

Var 1106, name aGEN_OFF_BUS_2, static, Link IOCARD_DISPLAY, Device 30, Digit 40, Numbers 1

Var 1107, name aAPU_G_OFF_BUS, static, Link IOCARD_DISPLAY, Device 30, Digit 39, Numbers 1

Var 2618, name EL_BAT_G, static

Var 2619, name EL_BAT_SW, static, Value 1

Var 0020, name sBAT_SW, Link IOCARD_SW, Device 30, Input 72
{
  IF &sBAT_SW = 1
  {
    &EL_BAT_G = 1         // Open Guard
    &EL_BAT_SW = CHANGEBITN 0 ,&EL_BAT_SW     // Send Battery SW OFF
  }
  ELSE
  {
    &EL_BAT_G = 0         // Close Guard
    &EL_BAT_SW = CHANGEBITN 0 ,&EL_BAT_SW     // Send Battery SW ON
  }
}

Var 2634, name EL_STBY_PWR_G, static

Var 2635, name EL_STBY_PWR_SW, static, Value 1

Var 0021, name sSTBY_PWR_L, Link IOCARD_SW, Device 30, Input 69     // Stby Pwr BAT SW
{
  IF &sSTBY_PWR_L = 1
  {
    &EL_STBY_PWR_G = 1    
    &EL_STBY_PWR_SW = CHANGEBITN 0 ,&EL_STBY_PWR_SW
  }
  ELSE
  {
    &EL_STBY_PWR_G = 1    
    &EL_STBY_PWR_SW = CHANGEBITN 0 ,&EL_STBY_PWR_SW
  }
}

Var 0022, name sSTBY_PWR_R, Link IOCARD_SW, Device 30, Input 68     // Stby Pwr AUTO SW
{
  IF &sSTBY_PWR_R = 1
  {
    &EL_STBY_PWR_G = 0    
    &EL_STBY_PWR_SW = 2    
  }
  ELSE
  {
    &EL_STBY_PWR_G = 1    
    &EL_STBY_PWR_SW = 1    
  }
}

Var 2631, name EL_GRD_PWR_SW, static

Var 0023, name sGND_PWR_OFF, Link IOCARD_SW, Device 30, Input 64     // Gnd Pwr Off SW
{
  IF &sGND_PWR_OFF = 1
  {
    &EL_GRD_PWR_SW = 0    
  }
  ELSE
  {
    IF &sGND_PWR_ON = 0
    {
      &EL_GRD_PWR_SW = 1    
    }
  }
}

Var 0024, name sGND_PWR_ON, Link IOCARD_SW, Device 30, Input 65     // Gnd Pwr On SW
{
  IF &sGND_PWR_ON = 1
  {
    &EL_GRD_PWR_SW = 2    
  }
  ELSE
  {
    IF &sGND_PWR_OFF = 0
    {
      &EL_GRD_PWR_SW = 1    
    }
  }
}

Var 0025, name aTrans_Bus_1, Link IOCARD_OUT, Device 30, Output 11

Var 0026, name aTrans_Bus_2, Link IOCARD_OUT, Device 30, Output 13

Var 1094, name aGND_PWR_LED, static, Link IOCARD_DISPLAY, Device 30, Digit 37, Numbers 1

Var 2633, name bEL_MAINT, static, Link IOCARD_SW, Device 30, Input 89

Var 2592, name bATTEND, static, Link IOCARD_SW, Device 30, Input 99

Var 2652, name bGRD_CALL, static, Link IOCARD_SW, Device 30, Input 100

Var 2597, name bOVHT_TEST, static, Link IOCARD_SW, Device 30, Input 140

Var 2602, name bTRIM_RESET, static, Link IOCARD_SW, Device 30, Input 135

Var 2605, name bCVR_ERASE, static, Link IOCARD_SW, Device 30, Input 102

Var 2606, name bCVR_TEST, static, Link IOCARD_SW, Device 30, Input 103

Var 2661, name bICE_TAT_T, static, Link IOCARD_SW, Device 30, Input 117

Var 2603, name bCAB_ALT_HORN, static, Link IOCARD_SW, Device 30, Input 104

Var 2717, name sYAW_DAMPER, static, Link IOCARD_SW, Device 30, Input 43

Var 2622, name sEL_CAB_UT, static, Link IOCARD_SW, Device 30, Input 81

Var 2628, name sEL_GALLEY, static, Link IOCARD_SW, Device 30, Input 81

Var 2609, name sEC_SUPPLY, static, Link IOCARD_SW, Device 30, Input 97

Var 2608, name sEC_EXHAUST, static, Link IOCARD_SW, Device 30, Input 98

Var 2662, name sWINDOW_HEAT_1, static, Link IOCARD_SW, Device 30, Input 120

Var 2663, name sWINDOW_HEAT_2, static, Link IOCARD_SW, Device 30, Input 121

Var 2664, name sWINDOW_HEAT_3, static, Link IOCARD_SW, Device 30, Input 124

Var 2665, name sWINDOW_HEAT_4, static, Link IOCARD_SW, Device 30, Input 125

Var 2667, name sWING_ANTI_ICE, static, Link IOCARD_SW, Device 30, Input 114

Var 2657, name sENG_ANTI_ICE1, static, Link IOCARD_SW, Device 30, Input 115

Var 2658, name sENG_ANTI_ICE2, static, Link IOCARD_SW, Device 30, Input 116

Var 2659, name sPROBE_HEAT_1, static, Link IOCARD_SW, Device 30, Input 118

Var 2660, name sPROBE_HEAT_2, static, Link IOCARD_SW, Device 30, Input 119

Var 2586, name sTRIM_AIR, static, Link IOCARD_SW, Device 30, Input 143

Var 2593, name sAPU_BLEED, static, Link IOCARD_SW, Device 30, Input 106

Var 2594, name sENG_1_BLEED, static, Link IOCARD_SW, Device 30, Input 105

Var 2595, name sENG_2_BLEED, static, Link IOCARD_SW, Device 30, Input 107

Var 2600, name sRECIRC_FAN_L, static, Link IOCARD_SW, Device 30, Input 142

Var 2601, name sRECIRC_FAN_R, static, Link IOCARD_SW, Device 30, Input 141

Var 2676, name sRETRACTABLE_L, static

Var 0027, name temp_rectL, Link IOCARD_SW, Device 30, Input 0
{
  IF &temp_rectL = 0
  {
    &sRETRACTABLE_L = 0    
  }
  IF &temp_rectL = 1
  {
    &sRETRACTABLE_L = 2    
  }
}

Var 2682, name sRETRACTABLE_R, static

Var 0028, name temp_rectR, Link IOCARD_SW, Device 30, Input 1
{
  IF &temp_rectR = 0
  {
    &sRETRACTABLE_R = 0    
  }
  IF &temp_rectR = 1
  {
    &sRETRACTABLE_R = 2    
  }
}

Var 2674, name sFIXED_L, static, Link IOCARD_SW, Device 30, Input 2

Var 2680, name sFIXED_R, static, Link IOCARD_SW, Device 30, Input 3

Var 2677, name sRUNWAY_TO_L, static, Link IOCARD_SW, Device 30, Input 4

Var 2683, name sRUNWAY_TO_R, static, Link IOCARD_SW, Device 30, Input 5

Var 2684, name sTAXI, static, Link IOCARD_SW, Device 30, Input 6

Var 2678, name sLOGO, static, Link IOCARD_SW, Device 30, Input 18

Var 2670, name sANTI_COL, static, Link IOCARD_SW, Device 30, Input 21

Var 2686, name sWING, static, Link IOCARD_SW, Device 30, Input 22

Var 2685, name sWHEEL_WELL, static, Link IOCARD_SW, Device 30, Input 23

Var 2604, name CB_LIGHT_C, static

Var 2614, name EFIS_HDG_R_T, static

Var 2632, name EL_IFE, static

Var 2587, name ACTY_600_L, static

Var 2588, name DUMMY, static

Var 2580, name ACT_S_A_800, static

Var 2581, name ACT_S_C, static

Var 2582, name ACT_S_C_800, static

Var 2583, name ACT_S_F_800, static

Var 2584, name ACT_SO_S, static

Var 2585, name ACT_SO_S_800, static

Var 2668, name LAND_LI_G, static

Var 2672, name LI_C, static

Var 2689, name NAVFMC_SEL, static

Var 2695, name OXY_RED_B_L, static

Var 2696, name OXY_RED_B_R, static

Var 2697, name OXY_T_R_SW_L, static

Var 2698, name OXY_T_R_SW_R, static

Var 2699, name PANEL_L_C, static

Var 2709, name TR_A_SW_T, static

Var 2714, name WING_B_O_T_P, static

Var 1039, name aFCTL_LOW_P_A, static, Link IOCARD_OUT, Device 30, Output 28

Var 1040, name aFCTL_LOW_P_B, static, Link IOCARD_OUT, Device 30, Output 29

Var 1042, name aLOW_QUANT, static, Link IOCARD_OUT, Device 30, Output 35

Var 1043, name aLOW_PRESSURE, static, Link IOCARD_OUT, Device 30, Output 36

Var 1044, name aSTDBY_RUD_ON, static, Link IOCARD_OUT, Device 30, Output 37

Var 1045, name aFEEL_D_PR, static, Link IOCARD_OUT, Device 30, Output 30

Var 1046, name aSPEED_T_FA, static, Link IOCARD_OUT, Device 30, Output 31

Var 1047, name aMACH_T_FA, static, Link IOCARD_OUT, Device 30, Output 32

Var 1048, name aAUTO_SL_FA, static, Link IOCARD_OUT, Device 30, Output 33

Var 1041, name aYAWDAMPER, static, Link IOCARD_OUT, Device 30, Output 34

Var 2639, name FCTL_A_G, static

Var 2640, name FCTL_A_SW, static, Value 1

Var 0029, name sFCTL_SR_A, Link IOCARD_SW, Device 30, Input 47
{
  IF &sFCTL_SR_A = 1
  {
    &FCTL_A_G = 1    
    &FCTL_A_SW = CHANGEBITN 0 ,&FCTL_A_SW
  }
  ELSE
  {
    &FCTL_A_G = 1    
    &FCTL_A_SW = CHANGEBITN 0 ,&FCTL_A_SW
  }
}

Var 0030, name sFCTL_A_ON, Link IOCARD_SW, Device 30, Input 48
{
  IF &sFCTL_A_ON = 1
  {
    &FCTL_A_G = 0    
    &FCTL_A_SW = 2    
  }
  ELSE
  {
    &FCTL_A_G = 1    
    &FCTL_A_SW = 1    
  }
}

Var 2641, name FCTL_B_G, static

Var 2642, name FCTL_B_SW, static, Value 1

Var 0031, name sFCTL_SR_B, Link IOCARD_SW, Device 30, Input 49
{
  IF &sFCTL_SR_B = 1
  {
    &FCTL_B_G = 1    
    &FCTL_B_SW = CHANGEBITN 0 ,&FCTL_B_SW
  }
  ELSE
  {
    &FCTL_B_G = 1    
    &FCTL_B_SW = CHANGEBITN 0 ,&FCTL_B_SW
  }
}

Var 0032, name sFCTL_B_ON, Link IOCARD_SW, Device 30, Input 50
{
  IF &sFCTL_B_ON = 1
  {
    &FCTL_B_G = 0    
    &FCTL_B_SW = 2    
  }
  ELSE
  {
    &FCTL_B_G = 1    
    &FCTL_B_SW = 1    
  }
}

Var 2589, name ALT_FLAPS_G, static

Var 2590, name ALT_FLAPS, static

Var 0033, name sALT_FLAPS_ARM, Link IOCARD_SW, Device 30, Input 51
{
  IF &sALT_FLAPS_ARM = 1
  {
    &ALT_FLAPS_G = 1    
    &ALT_FLAPS = 1    
  }
  ELSE
  {
    &ALT_FLAPS_G = 0    
    &ALT_FLAPS = 0    
  }
}

Var 2591, name ALT_FLAPS_SW, static

Var 0034, name sALT_FLAPS_UP, Link IOCARD_SW, Device 30, Input 52
{
  IF &sALT_FLAPS_UP = 1
  {
    &ALT_FLAPS_SW = 0    
  }
  ELSE
  {
    &ALT_FLAPS_SW = 1    
  }
}

Var 0035, name sALT_FLAPS_DN, Link IOCARD_SW, Device 30, Input 53
{
  IF &sALT_FLAPS_DN = 1
  {
    &ALT_FLAPS_SW = 2    
  }
  ELSE
  {
    &ALT_FLAPS_SW = 1    
  }
}

Var 2705, name SPOILER_A_G, static

Var 2706, name SPOILER_A_SW, static, Value 1

Var 0036, name sSPOILER_A_OFF, Link IOCARD_SW, Device 30, Input 45
{
  IF &sSPOILER_A_OFF = 1
  {
    &SPOILER_A_G = 1    
    &SPOILER_A_SW = CHANGEBITN 0 ,&SPOILER_A_SW
  }
  ELSE
  {
    &SPOILER_A_G = 0    
    &SPOILER_A_SW = CHANGEBITN 0 ,&SPOILER_A_SW
  }
}

Var 2707, name SPOILER_B_G, static

Var 2708, name SPOILER_B_SW, static, Value 1

Var 0037, name sSPOILER_B_OFF, Link IOCARD_SW, Device 30, Input 46
{
  IF &sSPOILER_B_OFF = 1
  {
    &SPOILER_B_G = 1    
    &SPOILER_B_SW = CHANGEBITN 0 ,&SPOILER_B_SW
  }
  ELSE
  {
    &SPOILER_B_G = 0    
    &SPOILER_B_SW = CHANGEBITN 0 ,&SPOILER_B_SW
  }
}

Var 2691, name NAVVHF_SEL, static

Var 0038, name sVHF_1, Link IOCARD_SW, Device 30, Input 40
{
  IF &sVHF_1 = 1
  {
    &NAVVHF_SEL = 0    
  }
  ELSE
  {
    &NAVVHF_SEL = 1    
  }
}

Var 0039, name sVHF_2, Link IOCARD_SW, Device 30, Input 39
{
  IF &sVHF_2 = 1
  {
    &NAVVHF_SEL = 2    
  }
  ELSE
  {
    &NAVVHF_SEL = 1    
  }
}

Var 2690, name NAVIRS_SEL, static

Var 0040, name sIRS_LEFT, Link IOCARD_SW, Device 30, Input 42
{
  IF &sIRS_LEFT = 1
  {
    &NAVIRS_SEL = 0    
  }
  ELSE
  {
    &NAVIRS_SEL = 1    
  }
}

Var 0041, name sIRS_Right, Link IOCARD_SW, Device 30, Input 41
{
  IF &sIRS_Right = 1
  {
    &NAVIRS_SEL = 2    
  }
  ELSE
  {
    &NAVIRS_SEL = 1    
  }
}

Var 2688, name NAVDSP_D_S_S, static

Var 0042, name sSOURCE_1, Link IOCARD_SW, Device 30, Input 36
{
  IF &sSOURCE_1 = 1
  {
    &NAVDSP_D_S_S = 0    
  }
}

Var 0043, name sSOURCE_AUTO, Link IOCARD_SW, Device 30, Input 37
{
  IF &sSOURCE_AUTO = 1
  {
    &NAVDSP_D_S_S = 1    
  }
}

Var 0044, name sSOURCE_2, Link IOCARD_SW, Device 30, Input 38
{
  IF &sSOURCE_2 = 1
  {
    &NAVDSP_D_S_S = 2    
  }
}

Var 2687, name NAVDSP_C_P_S, static

Var 0045, name sCONTROL_P_1, Link IOCARD_SW, Device 30, Input 71
{
  IF &sCONTROL_P_1 = 1
  {
    &NAVDSP_C_P_S = 0    
  }
  ELSE
  {
    &NAVDSP_C_P_S = 1    
  }
}

Var 0046, name sCONTROL_P_2, Link IOCARD_SW, Device 30, Input 70
{
  IF &sCONTROL_P_2 = 1
  {
    &NAVDSP_C_P_S = 2    
  }
  ELSE
  {
    &NAVDSP_C_P_S = 1    
  }
}

Var 1067, name aENG_VA_CL_L, static, Link IOCARD_DISPLAY, Device 30, Digit 32, Numbers 1

Var 1068, name aENG_VA_CL_R, static, Link IOCARD_DISPLAY, Device 30, Digit 34, Numbers 1

Var 1069, name aSPAR_VA_CL_1, static, Link IOCARD_DISPLAY, Device 30, Digit 33, Numbers 1

Var 1070, name aSPAR_VA_CL_2, static, Link IOCARD_DISPLAY, Device 30, Digit 35, Numbers 1

Var 1071, name aFILT_BYPASS_L, static, Link IOCARD_OUT, Device 30, Output 20

Var 1072, name aFILT_BYPASS_R, static, Link IOCARD_OUT, Device 30, Output 21

Var 1073, name aXFEED_VA_O, static, Link IOCARD_DISPLAY, Device 30, Digit 36, Numbers 1

Var 1074, name aLOWPR_Fwd_L, static, Link IOCARD_OUT, Device 30, Output 25

Var 1075, name aLOWPR_Fwd_R, static, Link IOCARD_OUT, Device 30, Output 26

Var 1076, name aLOWPR_Aft_L, static, Link IOCARD_OUT, Device 30, Output 24

Var 1077, name aLOWPR_Aft_R, static, Link IOCARD_OUT, Device 30, Output 27

Var 1078, name aLOWPR_Ctr_L, static, Link IOCARD_OUT, Device 30, Output 22

Var 1079, name aLOWPR_Ctr_R, static, Link IOCARD_OUT, Device 30, Output 23

Var 2645, name FUEL_CRFeed, static, Value 1

Var 0047, name sFUEL_CRFeed, Link IOCARD_SW, Device 30, Input 33
{
  &FUEL_CRFeed = CHANGEBITN 0 ,&FUEL_CRFeed
}

Var 2646, name sFUEL_P1_Aft, static, Link IOCARD_SW, Device 30, Input 27

Var 2647, name sFUEL_P1_Fwd, static, Link IOCARD_SW, Device 30, Input 28

Var 2648, name sFUEL_P2_Aft, static, Link IOCARD_SW, Device 30, Input 30

Var 2649, name sFUEL_P2_Fwd, static, Link IOCARD_SW, Device 30, Input 29

Var 2650, name sFUEL_PL_Ctr, static, Link IOCARD_SW, Device 30, Input 31

Var 2651, name sFUEL_PR_Ctr, static, Link IOCARD_SW, Device 30, Input 32

Var 1080, name aBAT_DISCHARGE, static, Link IOCARD_OUT, Device 30, Output 38

Var 1081, name aTR_UNIT, static, Link IOCARD_OUT, Device 30, Output 39

Var 1082, name aELEC, static, Link IOCARD_OUT, Device 30, Output 40

Var 2623, name EL_DC_M, static

Var 0048, name sSTBY_POWER, Link IOCARD_SW, Device 30, Input 73
{
  IF &sSTBY_POWER = 1
  {
    &EL_DC_M = 0    
  }
}

Var 0049, name sBAT_BUS, Link IOCARD_SW, Device 30, Input 74
{
  IF &sBAT_BUS = 1
  {
    &EL_DC_M = 1    
  }
}

Var 0050, name sBAT, Link IOCARD_SW, Device 30, Input 75
{
  IF &sBAT = 1
  {
    &EL_DC_M = 2    
  }
}

Var 0051, name sAUX_BAT, Link IOCARD_SW, Device 30, Input 76
{
  IF &sAUX_BAT = 1
  {
    &EL_DC_M = 3    
  }
}

Var 0052, name sTR1, Link IOCARD_SW, Device 30, Input 77
{
  IF &sTR1 = 1
  {
    &EL_DC_M = 4    
  }
}

Var 0053, name sTR2, Link IOCARD_SW, Device 30, Input 78
{
  IF &sTR2 = 1
  {
    &EL_DC_M = 5    
  }
}

Var 0054, name sTR3, Link IOCARD_SW, Device 30, Input 79
{
  IF &sTR3 = 1
  {
    &EL_DC_M = 6    
  }
}

Var 0055, name sTEST, Link IOCARD_SW, Device 30, Input 80
{
  IF &sTEST = 1
  {
    &EL_DC_M = 7    
  }
}

Var 2615, name EL_AC_M, static

Var 0056, name sAC_SB_PWR, Link IOCARD_SW, Device 30, Input 82
{
  IF &sAC_SB_PWR = 1
  {
    &EL_AC_M = 0    
  }
}

Var 0057, name sGRD_POWER, Link IOCARD_SW, Device 30, Input 83
{
  IF &sGRD_POWER = 1
  {
    &EL_AC_M = 1    
  }
}

Var 0058, name sGEN1, Link IOCARD_SW, Device 30, Input 84
{
  IF &sGEN1 = 1
  {
    &EL_AC_M = 2    
  }
}

Var 0059, name sAPU_GEN, Link IOCARD_SW, Device 30, Input 85
{
  IF &sAPU_GEN = 1
  {
    &EL_AC_M = 3    
  }
}

Var 0060, name sGEN2, Link IOCARD_SW, Device 30, Input 86
{
  IF &sGEN2 = 1
  {
    &EL_AC_M = 4    
  }
}

Var 0061, name sINV, Link IOCARD_SW, Device 30, Input 87
{
  IF &sINV = 1
  {
    &EL_AC_M = 5    
  }
}

Var 0062, name sAC_TEST, Link IOCARD_SW, Device 30, Input 88
{
  IF &sAC_TEST = 1
  {
    &EL_AC_M = 6    
  }
}

Var 1090, name aSTBY_PWR_OFF, static, Link IOCARD_OUT, Device 30, Output 42

Var 1088, name aDRIVE_1, static, Link IOCARD_OUT, Device 30, Output 41

Var 1089, name aDRIVE_2, static, Link IOCARD_OUT, Device 30, Output 43

Var 2624, name EL_DIS_1_G, static

Var 2625, name EL_DIS_1_SW, static, Value 1

Var 0063, name sDRIVE_L, Link IOCARD_SW, Device 30, Input 66
{
  IF &sDRIVE_L = 1
  {
    &EL_DIS_1_G = 1    
    &EL_DIS_1_SW = CHANGEBITN 0 ,&EL_DIS_1_SW
  }
  ELSE
  {
    &EL_DIS_1_G = 0    
    &EL_DIS_1_SW = CHANGEBITN 0 ,&EL_DIS_1_SW
  }
}

Var 2626, name EL_DIS_2_G, static

Var 2627, name EL_DIS_2_SW, static, Value 1

Var 0064, name sDRIVE_R, Link IOCARD_SW, Device 30, Input 67
{
  IF &sDRIVE_R = 1
  {
    &EL_DIS_2_G = 1    
    &EL_DIS_2_SW = CHANGEBITN 0 ,&EL_DIS_2_SW
  }
  ELSE
  {
    &EL_DIS_2_G = 0    
    &EL_DIS_2_SW = CHANGEBITN 0 ,&EL_DIS_2_SW
  }
}

Var 2620, name EL_BUS_TR_G, static

Var 2621, name EL_BUS_TR_SW, static, Value 1

Var 0065, name sBUS_TRANSFER, Link IOCARD_SW, Device 30, Input 63
{
  IF &sBUS_TRANSFER = 1
  {
    &EL_BUS_TR_G = 1    
    &EL_BUS_TR_SW = CHANGEBITN 0 ,&EL_BUS_TR_SW
  }
  ELSE
  {
    &EL_BUS_TR_G = 0    
    &EL_BUS_TR_SW = CHANGEBITN 0 ,&EL_BUS_TR_SW
  }
}

Var 2629, name EL_GEN1_SW, static

Var 0066, name sGEN_1_OFF, Link IOCARD_SW, Device 30, Input 55
{
  IF &sGEN_1_OFF = 1
  {
    &EL_GEN1_SW = 0    
  }
  ELSE
  {
    IF &sGEN_1_ON = 0
    {
      &EL_GEN1_SW = 1    
    }
  }
}

Var 0067, name sGEN_1_ON, Link IOCARD_SW, Device 30, Input 56
{
  IF &sGEN_1_ON = 1
  {
    &EL_GEN1_SW = 2    
  }
  ELSE
  {
    IF &sGEN_1_OFF = 0
    {
      &EL_GEN1_SW = 1    
    }
  }
}

Var 2630, name EL_GEN2_SW, static

Var 0068, name sGEN_2_OFF, Link IOCARD_SW, Device 30, Input 61
{
  IF &sGEN_2_OFF = 1
  {
    &EL_GEN2_SW = 0    
  }
  ELSE
  {
    IF &sGEN_2_ON = 0
    {
      &EL_GEN2_SW = 1    
    }
  }
}

Var 0069, name sGEN_2_ON, Link IOCARD_SW, Device 30, Input 62
{
  IF &sGEN_2_ON = 1
  {
    &EL_GEN2_SW = 2    
  }
  ELSE
  {
    IF &sGEN_2_OFF = 0
    {
      &EL_GEN2_SW = 1    
    }
  }
}

Var 2616, name EL_APU_G1_SW, static

Var 0070, name sAPU_GEN_OFF_L, Link IOCARD_SW, Device 30, Input 57
{
  IF &sAPU_GEN_OFF_L = 1
  {
    &EL_APU_G1_SW = 0    
  }
  ELSE
  {
    IF &sAPU_GEN_ON_L = 0
    {
      &EL_APU_G1_SW = 1    
    }
  }
}

Var 0071, name sAPU_GEN_ON_L, Link IOCARD_SW, Device 30, Input 58
{
  IF &sAPU_GEN_ON_L = 1
  {
    &EL_APU_G1_SW = 2    
  }
  ELSE
  {
    IF &sAPU_GEN_OFF_L = 0
    {
      &EL_APU_G1_SW = 1    
    }
  }
}

Var 2617, name EL_APU_G2_SW, static

Var 0072, name sAPU_GEN_OFF_R, Link IOCARD_SW, Device 30, Input 59
{
  IF &sAPU_GEN_OFF_R = 1
  {
    &EL_APU_G2_SW = 0    
  }
  ELSE
  {
    IF &sAPU_GEN_ON_R = 0
    {
      &EL_APU_G2_SW = 1    
    }
  }
}

Var 0073, name sAPU_GEN_ON_R, Link IOCARD_SW, Device 30, Input 60
{
  IF &sAPU_GEN_ON_R = 1
  {
    &EL_APU_G2_SW = 2    
  }
  ELSE
  {
    IF &sAPU_GEN_OFF_R = 0
    {
      &EL_APU_G2_SW = 1    
    }
  }
}

Var 1112, name aAPU_MAINT, static, Link IOCARD_DISPLAY, Device 30, Digit 41, Numbers 1

Var 1113, name aAPU_LOW_OIL, static, Link IOCARD_DISPLAY, Device 30, Digit 42, Numbers 1

Var 1114, name aAPU_FAULT, static, Link IOCARD_DISPLAY, Device 30, Digit 43, Numbers 1

Var 1115, name aAPU_OVERSP, static, Link IOCARD_DISPLAY, Device 30, Digit 44, Numbers 1

Var 2715, name WIPER_L_C, static

Var 0074, name sWIPER_L, Link IOCARD_SW, Device 30, Input 54
{
  IF &sWIPER_L = 1
  {
    &WIPER_L_C = 0    
  }
  ELSE
  {
    &WIPER_L_C = 2    
  }
}

Var 2716, name WIPER_R_C, static

Var 0075, name sWIPER_R, Link IOCARD_SW, Device 30, Input 90
{
  IF &sWIPER_R = 1
  {
    &WIPER_R_C = 0    
  }
  ELSE
  {
    &WIPER_R_C = 2    
  }
}

Var 1122, name aEquipCoSuOFF, static, Link IOCARD_OUT, Device 30, Output 16

Var 1123, name aEquipCoExhOFF, static, Link IOCARD_OUT, Device 30, Output 17

Var 2636, name EM_EX_L_G, static

Var 2637, name EM_EX_L_SW, static, Value 1

Var 0076, name sEMER_EXIT_OFF, Link IOCARD_SW, Device 30, Input 95
{
  IF &sEMER_EXIT_OFF = 1
  {
    &EM_EX_L_G = 1    
    &EM_EX_L_SW = CHANGEBITN 0 ,&EM_EX_L_SW
  }
  ELSE
  {
    &EM_EX_L_G = 1    
    &EM_EX_L_SW = CHANGEBITN 0 ,&EM_EX_L_SW
  }
}

Var 0077, name sEMER_EXIT_ON, Link IOCARD_SW, Device 30, Input 96
{
  IF &sEMER_EXIT_ON = 1
  {
    &EM_EX_L_G = 0    
    &EM_EX_L_SW = 2    
  }
  ELSE
  {
    &EM_EX_L_G = 1    
    &EM_EX_L_SW = 1    
  }
}

Var 1124, name aEMER_NOT_ARM, static, Link IOCARD_OUT, Device 30, Output 15

Var 2692, name NO_S_L_SW, static

Var 0078, name sNO_SMOKE_OFF, Link IOCARD_SW, Device 30, Input 91
{
  IF &sNO_SMOKE_OFF = 1
  {
    &NO_S_L_SW = 0    
  }
  ELSE
  {
    &NO_S_L_SW = 1    
  }
}

Var 0079, name sNO_SMOKE_ON, Link IOCARD_SW, Device 30, Input 92
{
  IF &sNO_SMOKE_ON = 1
  {
    &NO_S_L_SW = 2    
  }
  ELSE
  {
    &NO_S_L_SW = 0    
  }
}

Var 2638, name FAST_B_LI_SW, static

Var 0080, name sFAST_SEAT_OFF, Link IOCARD_SW, Device 30, Input 93
{
  IF &sFAST_SEAT_OFF = 1
  {
    &FAST_B_LI_SW = 0    
  }
  ELSE
  {
    IF &sFAST_SEAT_ON = 0
    {
      &FAST_B_LI_SW = 1    
    }
  }
}

Var 0081, name sFAST_SEAT_ON, Link IOCARD_SW, Device 30, Input 94
{
  IF &sFAST_SEAT_ON = 1
  {
    &FAST_B_LI_SW = 2    
  }
  ELSE
  {
    IF &sFAST_SEAT_OFF = 0
    {
      &FAST_B_LI_SW = 1    
    }
  }
}

Var 1128, name aCALL, static, Link IOCARD_DISPLAY, Device 30, Digit 45, Numbers 1

Var 1129, name aPA_IN_USE, static, Link IOCARD_OUT, Device 30, Output 18

Var 1130, name aOVERHEAT0, static, Link IOCARD_OUT, Device 30, Output 75

Var 1131, name aOVERHEAT1, static, Link IOCARD_OUT, Device 30, Output 76

Var 1132, name aOVERHEAT2, static, Link IOCARD_OUT, Device 30, Output 77

Var 1133, name aOVERHEAT3, static, Link IOCARD_OUT, Device 30, Output 84

Var 1134, name aW_HEATON_LS, static, Link IOCARD_OUT, Device 30, Output 78

Var 1135, name aW_HEATON_LF, static, Link IOCARD_OUT, Device 30, Output 79

Var 1136, name aW_HEATON_RL, static, Link IOCARD_OUT, Device 30, Output 80

Var 1137, name aW_HEATON_RS, static, Link IOCARD_OUT, Device 30, Output 85

Var 2666, name ICE_W_HEAT_T, static

Var 0082, name sWIN_H_OVH, Link IOCARD_SW, Device 30, Input 122
{
  IF &sWIN_H_OVH = 1
  {
    &ICE_W_HEAT_T = 0    
  }
  ELSE
  {
    IF &sWIN_H_PT = 0
    {
      &ICE_W_HEAT_T = 1    
    }
  }
}

Var 0083, name sWIN_H_PT, Link IOCARD_SW, Device 30, Input 123
{
  IF &sWIN_H_PT = 1
  {
    &ICE_W_HEAT_T = 2    
  }
  ELSE
  {
    IF &sWIN_H_OVH = 0
    {
      &ICE_W_HEAT_T = 1    
    }
  }
}

Var 1142, name aCAPT_PITOT, static, Link IOCARD_OUT, Device 30, Output 81

Var 1143, name aELEV_PITOT_L, static, Link IOCARD_OUT, Device 30, Output 82

Var 1144, name aALPHA_VANE_L, static, Link IOCARD_OUT, Device 30, Output 83

Var 1145, name aTEMP_PROBE, static, Link IOCARD_DISPLAY, Device 30, Digit 55, Numbers 1

Var 1146, name aFO_PITOT, static, Link IOCARD_OUT, Device 30, Output 86

Var 1147, name aELEV_PITOT_R, static, Link IOCARD_OUT, Device 30, Output 87

Var 1148, name aALPHA_VANE_R, static, Link IOCARD_OUT, Device 30, Output 88

Var 1149, name aAUX_PITOT, static, Link IOCARD_OUT, Device 30, Output 89

Var 1152, name aVALVE_OPEN_L, static, Link IOCARD_DISPLAY, Device 30, Digit 58, Numbers 1

Var 1153, name aVALVE_OPEN_R, static, Link IOCARD_DISPLAY, Device 30, Digit 59, Numbers 1

Var 1154, name aCO_ANTI_ICE_L, static, Link IOCARD_DISPLAY, Device 30, Digit 56, Numbers 1

Var 1155, name aCO_ANTI_ICE_R, static, Link IOCARD_DISPLAY, Device 30, Digit 57, Numbers 1

Var 1156, name aCO_VA_OPEN_L, static, Link IOCARD_DISPLAY, Device 30, Digit 60, Numbers 1

Var 1157, name aCO_VA_OPEN_R, static, Link IOCARD_DISPLAY, Device 30, Digit 61, Numbers 1

Var 1161, name aLOW_PR_ENG_L, static, Link IOCARD_OUT, Device 30, Output 102

Var 1162, name aLOW_PR_ENG_R, static, Link IOCARD_OUT, Device 30, Output 105

Var 1163, name aLOW_PR_ELEC_L, static, Link IOCARD_OUT, Device 30, Output 103

Var 1164, name aLOW_PR_ELEC_E, static, Link IOCARD_OUT, Device 30, Output 104

Var 1165, name aOVHEAT_ELEC_L, static, Link IOCARD_DISPLAY, Device 30, Digit 62, Numbers 1

Var 1166, name aOVHEAT_ELEC_R, static, Link IOCARD_DISPLAY, Device 30, Digit 63, Numbers 1

Var 1173, name aZoneTemp0, static, Link IOCARD_OUT, Device 30, Output 90

Var 1174, name aZoneTemp1, static, Link IOCARD_OUT, Device 30, Output 91

Var 1175, name aZoneTemp2, static, Link IOCARD_OUT, Device 30, Output 92

Var 1176, name aDualBleed, static, Link IOCARD_DISPLAY, Device 30, Digit 46, Numbers 1

Var 1177, name aRamDoor_L, static, Link IOCARD_DISPLAY, Device 30, Digit 47, Numbers 1

Var 1178, name aRamDoor_R, static, Link IOCARD_DISPLAY, Device 30, Digit 48, Numbers 1

Var 2655, name sHYD_ENG_L, static, Link IOCARD_SW, Device 30, Input 108

Var 2654, name sHYD_ELEC_R, static, Link IOCARD_SW, Device 30, Input 109

Var 2653, name sHYD_ELEC_L, static, Link IOCARD_SW, Device 30, Input 110

Var 2656, name sHYD_ENG_R, static, Link IOCARD_SW, Device 30, Input 111

Var 2598, name PACK_L_SW, static, Value 1

Var 0084, name sPACK_OFF_L, Link IOCARD_SW, Device 30, Input 112
{
  IF &sPACK_OFF_L = 1
  {
    &PACK_L_SW = CHANGEBITN 0 ,&PACK_L_SW
  }
  ELSE
  {
    &PACK_L_SW = CHANGEBITN 0 ,&PACK_L_SW
  }
}

Var 0085, name sPACK_HI_L, Link IOCARD_SW, Device 30, Input 113
{
  IF &sPACK_HI_L = 1
  {
    &PACK_L_SW = 2    
  }
  ELSE
  {
    &PACK_L_SW = 1    
  }
}

Var 2596, name ISO_VALVE_C_SW, static, Value 1

Var 0086, name sISO_CLOSE, Link IOCARD_SW, Device 30, Input 136
{
  IF &sISO_CLOSE = 1
  {
    &ISO_VALVE_C_SW = CHANGEBITN 0 ,&ISO_VALVE_C_SW
  }
  ELSE
  {
    &ISO_VALVE_C_SW = CHANGEBITN 0 ,&ISO_VALVE_C_SW
  }
}

Var 0087, name sISO_OPEN, Link IOCARD_SW, Device 30, Input 137
{
  IF &sISO_OPEN = 1
  {
    &ISO_VALVE_C_SW = 2    
  }
  ELSE
  {
    &ISO_VALVE_C_SW = 1    
  }
}

Var 2599, name PACK_R_SW, static, Value 1

Var 0088, name sPACK_OFF_R, Link IOCARD_SW, Device 30, Input 138
{
  IF &sPACK_OFF_R = 1
  {
    &PACK_R_SW = CHANGEBITN 0 ,&PACK_R_SW
  }
  ELSE
  {
    &PACK_R_SW = CHANGEBITN 0 ,&PACK_R_SW
  }
}

Var 0089, name sPACK_HI_R, Link IOCARD_SW, Device 30, Input 139
{
  IF &sPACK_HI_R = 1
  {
    &PACK_R_SW = 2    
  }
  ELSE
  {
    &PACK_R_SW = 1    
  }
}

Var 1187, name aPackTripOff0, static, Link IOCARD_DISPLAY, Device 30, Digit 49, Numbers 1

Var 1188, name aPackTripOff1, static, Link IOCARD_DISPLAY, Device 30, Digit 50, Numbers 1

Var 1189, name aWiBodyOheat0, static, Link IOCARD_DISPLAY, Device 30, Digit 51, Numbers 1

Var 1190, name aWiBodyOheat1, static, Link IOCARD_DISPLAY, Device 30, Digit 52, Numbers 1

Var 1191, name aBleedTripOff0, static, Link IOCARD_DISPLAY, Device 30, Digit 53, Numbers 1

Var 1192, name aBleedTripOff1, static, Link IOCARD_DISPLAY, Device 30, Digit 54, Numbers 1

Var 1712, name aAUTO_FAIL, static, Link IOCARD_OUT, Device 30, Output 98

Var 1713, name aOFF_SD, static, Link IOCARD_OUT, Device 30, Output 99

Var 1714, name aALTN, static, Link IOCARD_OUT, Device 30, Output 100

Var 1715, name aMANUAL, static, Link IOCARD_OUT, Device 30, Output 101

Var 0090, name FA1, Link IOCARD_DISPLAY, Device 30, Digit 64, Numbers 1

Var 0091, name FA2, Link IOCARD_DISPLAY, Device 30, Digit 65, Numbers 1

Var 0092, name FA3, Link IOCARD_DISPLAY, Device 30, Digit 66, Numbers 1

Var 0093, name FA4, Link IOCARD_DISPLAY, Device 30, Digit 67, Numbers 1

Var 0094, name FA5, Link IOCARD_DISPLAY, Device 30, Digit 68, Numbers 1

Var 0095, name LA1, Link IOCARD_DISPLAY, Device 30, Digit 69, Numbers 1

Var 0096, name LA2, Link IOCARD_DISPLAY, Device 30, Digit 70, Numbers 1

Var 0097, name LA3, Link IOCARD_DISPLAY, Device 30, Digit 71, Numbers 1

Var 0098, name LA4, Link IOCARD_DISPLAY, Device 30, Digit 72, Numbers 1

Var 0099, name LA5, Link IOCARD_DISPLAY, Device 30, Digit 73, Numbers 1

Var 2700, name PRESS_F_ALT_K, static

Var 0100, Link IOCARD_ENCODER, Device 30, Input 126, Aceleration 3, Type 2     // Encoder input for FLT ALT
{
  &PRESS_F_ALT_K = 0    
  IF V0100 < 0
  {
    &PRESS_F_ALT_K = 16384    
  }
  ELSE
  {
    &PRESS_F_ALT_K = 8192    
  }
}

Var 2701, name PRESS_L_ALT_K, static

Var 0101, Link IOCARD_ENCODER, Device 30, Input 128, Aceleration 3, Type 2     // Encoder input for LAND ALT
{
  &PRESS_L_ALT_K = 0    
  IF V0101 < 0
  {
    &PRESS_L_ALT_K = 16384    
  }
  ELSE
  {
    &PRESS_L_ALT_K = 8192    
  }
}

Var 1196, name FltAltWindow, static
{
  CALL &FlLaAlt
}

Var 1200, name LandAltWindow, static
{
  CALL &FlLaAlt
}

Var 0102, name FlLaAlt, Link SUBRUTINE
{
  IF &DC_BAT = 0
  {
    CALL &BlankAlt
  }
  ELSE
  {
    L0 = &AC_TRANSFER_1 + &AC_TRANSFER_2
    IF L0 = 0     // both TransBusses are off
    {
      CALL &LineAlt
    }
    ELSE
    {
      CALL &FltAltDis
      CALL &LndAltDis
    }
  }
}

Var 0103, name FltAltDis, Link SUBRUTINE     // Example 34600
{
  L0 = DIV &FltAltWindow ,100     // 346
  &FA5 = 0    
  IF L0 = 0     // display ____0
  {
    &FA1 = -999999    
    &FA2 = -999999    
    &FA3 = -999999    
    &FA4 = -999999    
  }
  ELSE
  {
    &FA4 = 0         // ___00
    IF L0 < 0     // for negative values
    {
      IF L0 = -5     // display _-500
      {
        &FA1 = -999999    
        &FA2 = -999998    
        &FA3 = 5    
      }
      ELSE     // display -1000
      {
        &FA1 = -999998    
        &FA2 = 1    
        &FA3 = 0    
      }
    }
    ELSE     // positive values
    {
      IF L0 > 99     // values up from 10000 ft
      {
        &FA1 = DIV L0 ,100     // 34600 / 10000 = 3.46 --> 3
      }
      ELSE
      {
        &FA1 = -999999    
      }
      L1 = MOD L0 ,100     // 34600 / 10000 = 3.46 --> 46
      IF L0 > 9     // values up from 1000 ft
      {
        &FA2 = DIV L1 ,10     // 46 / 10 = 4.6 --> 4
      }
      ELSE
      {
        &FA2 = -999999    
      }
      &FA3 = MOD L1 ,10     // 46 / 10 = 4.6 --> 6
    }
  }
}

Var 0104, name LndAltDis, Link SUBRUTINE     // Example 23750
{
  L0 = DIV &LandAltWindow ,10     // 2375
  &LA5 = 0    
  IF L0 = 0
  {
    &LA1 = -999999    
    &LA2 = -999999    
    &LA3 = -999999    
    &LA4 = -999999    
  }
  ELSE
  {
    L1 = ABS L0
    IF L1 > 999     // values up from 10000 ft
    {
      &LA1 = DIV L1 ,1000     // 2375 / 1000 = 2.375 --> 2
    }
    ELSE
    {
      &LA1 = -999999    
    }
    L2 = MOD L1 ,1000     // 2375 / 1000 = 2.375 --> 375
    IF L1 > 99     // values up from 1000 ft
    {
      &LA2 = DIV L2 ,100     // 375 / 100 = 3.75 --> 3
    }
    ELSE
    {
      &LA2 = -999999    
    }
    L2 = MOD L2 ,100     // 375 / 100 = 3.75 --> 75
    IF L1 > 9     // values up from 100 ft
    {
      &LA3 = DIV L2 ,10     // 75 / 10 = 7.5 --> 7
    }
    ELSE
    {
      &LA3 = -999999    
    }
    &LA4 = MOD L2 ,10     // 75 / 10 = 7.5 --> 5
    IF L0 < 0     // negative add "-" in front of digits
    {
      IF L0 = -100
      {
        &LA1 = -999998    
      }
      ELSE
      {
        IF L0 = -5
        {
          &LA3 = -999998    
        }
        ELSE
        {
          &LA2 = -999998    
        }
      }
    }
  }
}

Var 0105, name BlankAlt, Link SUBRUTINE
{
  &FA1 = -999999    
  &FA2 = -999999    
  &FA3 = -999999    
  &FA4 = -999999    
  &FA5 = -999999    
  &LA1 = -999999    
  &LA2 = -999999    
  &LA3 = -999999    
  &LA4 = -999999    
  &LA5 = -999999    
}

Var 0106, name LineAlt, Link SUBRUTINE
{
  &FA1 = -999998    
  &FA2 = -999998    
  &FA3 = -999998    
  &FA4 = -999998    
  &FA5 = -999998    
  &LA1 = -999998    
  &LA2 = -999998    
  &LA3 = -999998    
  &LA4 = -999998    
  &LA5 = -999998    
}

Var 2703, name PRESS_V_SW, static

Var 0107, name sCLOSE_VALVE, Link IOCARD_SW, Device 30, Input 134
{
  IF &sCLOSE_VALVE = 1
  {
    &PRESS_V_SW = 0    
  }
  ELSE
  {
    IF &sOPEN_VALVE = 0
    {
      &PRESS_V_SW = 1    
    }
  }
}

Var 0108, name sOPEN_VALVE, Link IOCARD_SW, Device 30, Input 133
{
  IF &sOPEN_VALVE = 1
  {
    &PRESS_V_SW = 2    
  }
  ELSE
  {
    IF &sCLOSE_VALVE = 0
    {
      &PRESS_V_SW = 1    
    }
  }
}

Var 2702, name PRESS_SEL, static

Var 0109, name sC_MODE_AUTO, Link IOCARD_SW, Device 30, Input 130
{
  IF &sC_MODE_AUTO = 1
  {
    &PRESS_SEL = 0    
  }
}

Var 0110, name sC_MODE_ALTN, Link IOCARD_SW, Device 30, Input 131
{
  IF &sC_MODE_ALTN = 1
  {
    &PRESS_SEL = 1    
  }
}

Var 0111, name sC_MODE_MAN, Link IOCARD_SW, Device 30, Input 132
{
  IF &sC_MODE_MAN = 1
  {
    &PRESS_SEL = 2    
  }
}

Var 2671, name APU_START_SW, static

Var 0112, name sAPU_OFF, Link IOCARD_SW, Device 30, Input 7
{
  IF &sAPU_OFF = 1
  {
    &APU_START_SW = 0    
  }
  ELSE
  {
    IF &sAPU_START = 0
    {
      &APU_START_SW = 1    
    }
  }
}

Var 0113, name sAPU_START, Link IOCARD_SW, Device 30, Input 8
{
  IF &sAPU_START = 1
  {
    &APU_START_SW = 2    
  }
  ELSE
  {
    IF &sAPU_OFF = 0
    {
      &APU_START_SW = 1    
    }
  }
}

Var 0114, name ENG1_Servo, Link USB_SERVOS, Device 37, Output 6, PosL 10, PosC 512, PosR 1000

Var 1220, name ENG1_ST_SW_POS, static
{
  IF &sENG1_S_GRD = 1
  {
    IF &ENG1_ST_SW_POS = 1     // if in GRD and receive OFF from ngx
    {
      &ENG1_Servo = 800         // Auto off phase I to trigger servo arm to
      &ENG1_Servo = DELAY 300 ,200     // Auto off phase II should reset release s
    }
  }
}

Var 2675, name ENGINE1_SW, static

Var 0115, name sENG1_S_GRD, Link IOCARD_SW, Device 30, Input 9     // Eng Start 1 Grd ROT
{
  IF &sENG1_S_GRD = 1
  {
    &ENGINE1_SW = 0    
  }
}

Var 0116, name sENG1_S_OFF, Link IOCARD_SW, Device 30, Input 10     // Eng Start 1 Off ROT
{
  IF &sENG1_S_OFF = 1
  {
    &ENGINE1_SW = 1    
  }
}

Var 0117, name sENG1_S_CONT, Link IOCARD_SW, Device 30, Input 11     // Eng Start 1 Cont ROT
{
  IF &sENG1_S_CONT = 1
  {
    &ENGINE1_SW = 2    
  }
}

Var 0118, name sENG1_S_FLT, Link IOCARD_SW, Device 30, Input 12     // Eng Start 1 Flt ROT
{
  IF &sENG1_S_FLT = 1
  {
    &ENGINE1_SW = 3    
  }
}

Var 2673, name IGN_SEL, static

Var 0119, name sENG_IGN_L, Link IOCARD_SW, Device 30, Input 25
{
  IF &sENG_IGN_L = 1
  {
    &IGN_SEL = 0    
  }
  ELSE
  {
    IF &sENG_IGN_R = 0
    {
      &IGN_SEL = 1    
    }
  }
}

Var 0120, name sENG_IGN_R, Link IOCARD_SW, Device 30, Input 24
{
  IF &sENG_IGN_R = 1
  {
    &IGN_SEL = 2    
  }
  ELSE
  {
    IF &sENG_IGN_L = 0
    {
      &IGN_SEL = 1    
    }
  }
}

Var 0121, name ENG2_Servo, Link USB_SERVOS, Device 37, Output 11, PosL 10, PosC 512, PosR 1000

Var 1221, name ENG2_ST_SW_POS, static     // servo arm is set to free value 512 whe
{
  IF &sENG2_S_GRD = 1
  {
    IF &ENG2_ST_SW_POS = 1     // if in GRD and receive OFF from ngx
    {
      &ENG2_Servo = 800         // Auto off phase I to trigger servo arm to
      &ENG2_Servo = DELAY 300 ,200     // Auto off phase II should reset release s
    }
  }
}

Var 2681, name ENGINE2_SW, static

Var 0122, name sENG2_S_GRD, Link IOCARD_SW, Device 30, Input 13     // Eng Start 2 Grd ROT
{
  IF &sENG2_S_GRD = 1
  {
    &ENGINE2_SW = 0    
  }
}

Var 0123, name sENG2_S_OFF, Link IOCARD_SW, Device 30, Input 14     // Eng Start 2 Off ROT
{
  IF &sENG2_S_OFF = 1
  {
    &ENGINE2_SW = 1    
  }
}

Var 0124, name ENG2_S_CONT, Link IOCARD_SW, Device 30, Input 15     // Eng Start 2 Cont ROT
{
  IF &ENG2_S_CONT = 1
  {
    &ENGINE2_SW = 2    
  }
}

Var 0125, name ENG2_S_FLT, Link IOCARD_SW, Device 30, Input 16     // Eng Start 2 Flt ROT
{
  IF &ENG2_S_FLT = 1
  {
    &ENGINE2_SW = 3    
  }
}

Var 2679, name LI_POS_ST, static

Var 0126, name sPOS_LIGHT, Link IOCARD_SW, Device 30, Input 19     // Position S&S SW
{
  IF &sPOS_LIGHT = 1
  {
    &LI_POS_ST = 0    
  }
  ELSE
  {
    IF &sPOS_STEADY_LI = 0
    {
      &LI_POS_ST = 1    
    }
  }
}

Var 0127, name sPOS_STEADY_LI, Link IOCARD_SW, Device 30, Input 20     // Position Steady SW
{
  IF &sPOS_STEADY_LI = 1
  {
    &LI_POS_ST = 2    
  }
  ELSE
  {
    IF &sPOS_LIGHT = 0
    {
      &LI_POS_ST = 1    
    }
  }
}

Var 0128, name SERVO_FT, Link USB_SERVOS, Device 37, Output 1, PosL 10, PosC 511, PosR 1000, Type 1

Var 0129, name FT_val

Var 0130, name g_FT_calc

Var 0131, name FT_calc

Var 0132, name g_FT_val

Var 0133, name g_FT_low_val

Var 0134, name g_FT_high_val

Var 0135, name FT_high_val

Var 0136, name FT_low_val

Var 1056, name g_FT, static, Value 0
{
  L0 = &g_FT    
  L2 = L0    
  C0 = L0 >= 0
  C1 = L0 <= 100
  IF C0 AND C1
  {
    &g_FT_low_val = 0    
    &g_FT_high_val = 100    
    &FT_high_val = 0    
    &FT_low_val = 224    
  }
  C0 = L0 >= 100
  C1 = L0 <= 200
  IF C0 AND C1
  {
    &g_FT_low_val = 100    
    &g_FT_high_val = 200    
    &FT_high_val = 224    
    &FT_low_val = 291    
  }
  C0 = L0 >= 200
  C1 = L0 <= 300
  IF C0 AND C1
  {
    &g_FT_low_val = 200    
    &g_FT_high_val = 300    
    &FT_high_val = 291    
    &FT_low_val = 366    
  }
  C0 = L0 >= 300
  C1 = L0 <= 400
  IF C0 AND C1
  {
    &g_FT_low_val = 300    
    &g_FT_high_val = 400    
    &FT_high_val = 366    
    &FT_low_val = 445    
  }
  C0 = L0 >= 400
  C1 = L0 <= 500
  IF C0 AND C1
  {
    &g_FT_low_val = 400    
    &g_FT_high_val = 500    
    &FT_high_val = 445    
    &FT_low_val = 521    
  }
  C0 = L0 >= 500
  C1 = L0 <= 600
  IF C0 AND C1
  {
    &g_FT_low_val = 500    
    &g_FT_high_val = 600    
    &FT_high_val = 521    
    &FT_low_val = 584    
  }
  C0 = L0 >= 600
  C1 = L0 <= 700
  IF C0 AND C1
  {
    &g_FT_low_val = 600    
    &g_FT_high_val = 700    
    &FT_high_val = 584    
    &FT_low_val = 636    
  }
  C0 = L0 >= 700
  C1 = L0 <= 800
  IF C0 AND C1
  {
    &g_FT_low_val = 700    
    &g_FT_high_val = 800    
    &FT_high_val = 636    
    &FT_low_val = 681    
  }
  C0 = L0 >= 800
  C1 = L0 <= 900
  IF C0 AND C1
  {
    &g_FT_low_val = 800    
    &g_FT_high_val = 900    
    &FT_high_val = 681    
    &FT_low_val = 757    
  }
  C0 = L0 >= 900
  C1 = L0 <= 1000
  IF C0 AND C1
  {
    &g_FT_low_val = 900    
    &g_FT_high_val = 1000    
    &FT_high_val = 757    
    &FT_low_val = 809    
  }
  &FT_calc = &FT_low_val - &FT_high_val
  &g_FT_calc = &g_FT_high_val - &g_FT_low_val
  &g_FT_val = L0 - &g_FT_low_val
  &FT_val = &FT_calc * &g_FT_val
  &FT_val = &FT_val / &g_FT_calc
  L1 = &FT_high_val + &FT_val
  &SERVO_FT = L1    
}

Var 0137, name SERVO_EGT, Link USB_SERVOS, Device 37, Output 2, PosL 10, PosC 511, PosR 1000, Type 1

Var 0138, name egt_val

Var 0139, name g_egt_calc

Var 0140, name egt_calc

Var 0141, name g_egt_val

Var 0142, name g_egt_low_val

Var 0143, name g_egt_high_val

Var 0144, name egt_high_val

Var 0145, name egt_low_val

Var 1108, name g_EGT, static, Value 0
{
  L0 = &g_EGT    
  L2 = L0    
  C0 = L0 >= 0
  C1 = L0 <= 100
  IF C0 AND C1
  {
    &g_egt_low_val = 0    
    &g_egt_high_val = 100    
    &egt_high_val = 0    
    &egt_low_val = 224    
  }
  C0 = L0 >= 100
  C1 = L0 <= 200
  IF C0 AND C1
  {
    &g_egt_low_val = 100    
    &g_egt_high_val = 200    
    &egt_high_val = 224    
    &egt_low_val = 291    
  }
  C0 = L0 >= 200
  C1 = L0 <= 300
  IF C0 AND C1
  {
    &g_egt_low_val = 200    
    &g_egt_high_val = 300    
    &egt_high_val = 291    
    &egt_low_val = 366    
  }
  C0 = L0 >= 300
  C1 = L0 <= 400
  IF C0 AND C1
  {
    &g_egt_low_val = 300    
    &g_egt_high_val = 400    
    &egt_high_val = 366    
    &egt_low_val = 445    
  }
  C0 = L0 >= 400
  C1 = L0 <= 500
  IF C0 AND C1
  {
    &g_egt_low_val = 400    
    &g_egt_high_val = 500    
    &egt_high_val = 445    
    &egt_low_val = 521    
  }
  C0 = L0 >= 500
  C1 = L0 <= 600
  IF C0 AND C1
  {
    &g_egt_low_val = 500    
    &g_egt_high_val = 600    
    &egt_high_val = 521    
    &egt_low_val = 584    
  }
  C0 = L0 >= 600
  C1 = L0 <= 700
  IF C0 AND C1
  {
    &g_egt_low_val = 600    
    &g_egt_high_val = 700    
    &egt_high_val = 584    
    &egt_low_val = 636    
  }
  C0 = L0 >= 700
  C1 = L0 <= 800
  IF C0 AND C1
  {
    &g_egt_low_val = 700    
    &g_egt_high_val = 800    
    &egt_high_val = 636    
    &egt_low_val = 681    
  }
  C0 = L0 >= 800
  C1 = L0 <= 900
  IF C0 AND C1
  {
    &g_egt_low_val = 800    
    &g_egt_high_val = 900    
    &egt_high_val = 681    
    &egt_low_val = 757    
  }
  C0 = L0 >= 900
  C1 = L0 <= 1000
  IF C0 AND C1
  {
    &g_egt_low_val = 900    
    &g_egt_high_val = 1000    
    &egt_high_val = 757    
    &egt_low_val = 809    
  }
  &egt_calc = &egt_low_val - &egt_high_val
  &g_egt_calc = &g_egt_high_val - &g_egt_low_val
  &g_egt_val = L0 - &g_egt_low_val
  &egt_val = &egt_calc * &g_egt_val
  &egt_val = &egt_val / &g_egt_calc
  L1 = &egt_high_val + &egt_val
  &SERVO_EGT = L1    
}

Var 0146, name SERVO_CA, Link USB_SERVOS, Device 37, Output 4, PosL 10, PosC 511, PosR 1000, Type 1

Var 0147, name CA_val

Var 0148, name g_CA_calc

Var 0149, name CA_calc

Var 0150, name g_CA_val

Var 0151, name g_CA_low_val

Var 0152, name g_CA_high_val

Var 0153, name CA_high_val

Var 0154, name CA_low_val

Var 1534, name g_CA, static, Value 0
{
  L0 = &g_CA    
  L2 = L0    
  C0 = L0 >= 0
  C1 = L0 <= 5000
  IF C0 AND C1
  {
    &g_CA_low_val = 0    
    &g_CA_high_val = 5000    
    &CA_high_val = 0    
    &CA_low_val = 233    
  }
  C0 = L0 >= 5000
  C1 = L0 <= 10000
  IF C0 AND C1
  {
    &g_CA_low_val = 5000    
    &g_CA_high_val = 10000    
    &CA_high_val = 233    
    &CA_low_val = 345    
  }
  C0 = L0 >= 10000
  C1 = L0 <= 15000
  IF C0 AND C1
  {
    &g_CA_low_val = 10000    
    &g_CA_high_val = 15000    
    &CA_high_val = 345    
    &CA_low_val = 495    
  }
  C0 = L0 >= 15000
  C1 = L0 <= 20000
  IF C0 AND C1
  {
    &g_CA_low_val = 15000    
    &g_CA_high_val = 20000    
    &CA_high_val = 495    
    &CA_low_val = 645    
  }
  C0 = L0 >= 20000
  C1 = L0 <= 25000
  IF C0 AND C1
  {
    &g_CA_low_val = 20000    
    &g_CA_high_val = 25000    
    &CA_high_val = 645    
    &CA_low_val = 735    
  }
  C0 = L0 >= 25000
  C1 = L0 <= 30000
  IF C0 AND C1
  {
    &g_CA_low_val = 25000    
    &g_CA_high_val = 30000    
    &CA_high_val = 735    
    &CA_low_val = 825    
  }
  &CA_calc = &CA_low_val - &CA_high_val
  &g_CA_calc = &g_CA_high_val - &g_CA_low_val
  &g_CA_val = L0 - &g_CA_low_val
  &CA_val = &CA_calc * &g_CA_val
  &CA_val = &CA_val / &g_CA_calc
  L1 = &CA_high_val + &CA_val
  &SERVO_CA = L1    
}

Var 0155, name SERVO_PD, Link USB_SERVOS, Device 37, Output 3, PosL 10, PosC 511, PosR 1000, Type 1

Var 0156, name PD_val

Var 0157, name g_PD_calc

Var 0158, name PD_calc

Var 0159, name g_PD_val

Var 0160, name g_PD_low_val

Var 0161, name g_PD_high_val

Var 0162, name PD_high_val

Var 0163, name PD_low_val

Var 1535, name g_PD, static, Value 0
{
  L0 = &g_PD    
  L2 = L0    
  C0 = L0 >= 0
  C1 = L0 <= 1000
  IF C0 AND C1
  {
    &g_PD_low_val = 0    
    &g_PD_high_val = 1000    
    &PD_high_val = 0    
    &PD_low_val = 235    
  }
  C0 = L0 >= 1000
  C1 = L0 <= 2000
  IF C0 AND C1
  {
    &g_PD_low_val = 1000    
    &g_PD_high_val = 2000    
    &PD_high_val = 235    
    &PD_low_val = 335    
  }
  C0 = L0 >= 2000
  C1 = L0 <= 3000
  IF C0 AND C1
  {
    &g_PD_low_val = 2000    
    &g_PD_high_val = 3000    
    &PD_high_val = 335    
    &PD_low_val = 435    
  }
  C0 = L0 >= 3000
  C1 = L0 <= 4000
  IF C0 AND C1
  {
    &g_PD_low_val = 3000    
    &g_PD_high_val = 4000    
    &PD_high_val = 435    
    &PD_low_val = 535    
  }
  C0 = L0 >= 4000
  C1 = L0 <= 5000
  IF C0 AND C1
  {
    &g_PD_low_val = 4000    
    &g_PD_high_val = 5000    
    &PD_high_val = 535    
    &PD_low_val = 635    
  }
  C0 = L0 >= 5000
  C1 = L0 <= 6000
  IF C0 AND C1
  {
    &g_PD_low_val = 5000    
    &g_PD_high_val = 6000    
    &PD_high_val = 635    
    &PD_low_val = 741    
  }
  C0 = L0 >= 6000
  C1 = L0 <= 7000
  IF C0 AND C1
  {
    &g_PD_low_val = 6000    
    &g_PD_high_val = 7000    
    &PD_high_val = 741    
    &PD_low_val = 835    
  }
  C0 = L0 >= 7000
  C1 = L0 <= 8000
  IF C0 AND C1
  {
    &g_PD_low_val = 7000    
    &g_PD_high_val = 8000    
    &PD_high_val = 835    
    &PD_low_val = 935    
  }
  C0 = L0 >= 8000
  C1 = L0 <= 9000
  IF C0 AND C1
  {
    &g_PD_low_val = 8000    
    &g_PD_high_val = 9000    
    &PD_high_val = 935    
    &PD_low_val = 1000    
  }
  &PD_calc = &PD_low_val - &PD_high_val
  &g_PD_calc = &g_PD_high_val - &g_PD_low_val
  &g_PD_val = L0 - &g_PD_low_val
  &PD_val = &PD_calc * &g_PD_val
  &PD_val = &PD_val / &g_PD_calc
  L1 = &PD_high_val + &PD_val
  &SERVO_PD = L1    
}

Var 0164, name SERVO_VSI, Link USB_SERVOS, Device 37, Output 5, PosL 180, PosC 511, PosR 1000, Type 1

Var 0165, name vsi_val

Var 0166, name g_vsi_calc

Var 0167, name vsi_calc

Var 0168, name g_vsi_val

Var 0169, name g_vsi_low_val

Var 0170, name g_vsi_high_val

Var 0171, name vsi_high_val

Var 0172, name vsi_low_val

Var 1536, name g_VSI, static, Value 0
{
  L0 = &g_VSI    
  L2 = L0    
  C0 = L0 >= 0
  C1 = L0 <= -250
  IF C0 AND C1
  {
    &g_vsi_low_val = 0    
    &g_vsi_high_val = -250    
    &vsi_high_val = 528    
    &vsi_low_val = 442    
  }
  C0 = L0 >= 250
  C1 = L0 <= 500
  IF C0 AND C1
  {
    &g_vsi_low_val = -250    
    &g_vsi_high_val = -500    
    &vsi_high_val = 442    
    &vsi_low_val = 406    
  }
  C0 = L0 >= -500
  C1 = L0 <= -1000
  IF C0 AND C1
  {
    &g_vsi_low_val = -500    
    &g_vsi_high_val = -1000    
    &vsi_high_val = 406    
    &vsi_low_val = 321    
  }
  C0 = L0 >= -1000
  C1 = L0 <= -2000
  IF C0 AND C1
  {
    &g_vsi_low_val = -1000    
    &g_vsi_high_val = -2000    
    &vsi_high_val = 321    
    &vsi_low_val = 179    
  }
  C0 = L0 >= 0
  C1 = L0 <= 250
  IF C0 AND C1
  {
    &g_vsi_low_val = 0    
    &g_vsi_high_val = 250    
    &vsi_high_val = 528    
    &vsi_low_val = 592    
  }
  C0 = L0 >= 250
  C1 = L0 <= 500
  IF C0 AND C1
  {
    &g_vsi_low_val = 250    
    &g_vsi_high_val = 500    
    &vsi_high_val = 592    
    &vsi_low_val = 650    
  }
  C0 = L0 >= 500
  C1 = L0 <= 1000
  IF C0 AND C1
  {
    &g_vsi_low_val = 500    
    &g_vsi_high_val = 1000    
    &vsi_high_val = 650    
    &vsi_low_val = 715    
  }
  C0 = L0 >= 1000
  C1 = L0 <= 2000
  IF C0 AND C1
  {
    &g_vsi_low_val = 1000    
    &g_vsi_high_val = 2000    
    &vsi_high_val = 715    
    &vsi_low_val = 832    
  }
  &vsi_calc = &vsi_low_val - &vsi_high_val
  &g_vsi_calc = &g_vsi_high_val - &g_vsi_low_val
  &g_vsi_val = L0 - &g_vsi_low_val
  &vsi_val = &vsi_calc * &g_vsi_val
  &vsi_val = &vsi_val / &g_vsi_calc
  L1 = &vsi_high_val + &vsi_val
  &SERVO_VSI = L1    
}

Var 0173, name SERVO_CT, Link USB_SERVOS, Device 37, Output 7, PosL 182, PosC 511, PosR 1000, Type 1

Var 0174, name CT_val

Var 0175, name g_CT_calc

Var 0176, name CT_calc

Var 0177, name g_CT_val

Var 0178, name g_CT_low_val

Var 0179, name g_CT_high_val

Var 0180, name CT_high_val

Var 0181, name CT_low_val

Var 1538, name g_CT, static, Value 0
{
  L0 = &g_CT    
  L2 = L0    
  C0 = L0 >= 0
  C1 = L0 <= 10
  IF C0 AND C1
  {
    &g_CT_low_val = 0    
    &g_CT_high_val = 10    
    &CT_high_val = 182    
    &CT_low_val = 245    
  }
  C0 = L0 >= 10
  C1 = L0 <= 20
  IF C0 AND C1
  {
    &g_CT_low_val = 10    
    &g_CT_high_val = 20    
    &CT_high_val = 245    
    &CT_low_val = 310    
  }
  C0 = L0 >= 20
  C1 = L0 <= 30
  IF C0 AND C1
  {
    &g_CT_low_val = 20    
    &g_CT_high_val = 30    
    &CT_high_val = 310    
    &CT_low_val = 370    
  }
  C0 = L0 >= 30
  C1 = L0 <= 40
  IF C0 AND C1
  {
    &g_CT_low_val = 30    
    &g_CT_high_val = 40    
    &CT_high_val = 370    
    &CT_low_val = 425    
  }
  C0 = L0 >= 40
  C1 = L0 <= 50
  IF C0 AND C1
  {
    &g_CT_low_val = 40    
    &g_CT_high_val = 50    
    &CT_high_val = 425    
    &CT_low_val = 500    
  }
  C0 = L0 >= 50
  C1 = L0 <= 60
  IF C0 AND C1
  {
    &g_CT_low_val = 50    
    &g_CT_high_val = 60    
    &CT_high_val = 500    
    &CT_low_val = 555    
  }
  C0 = L0 >= 60
  C1 = L0 <= 70
  IF C0 AND C1
  {
    &g_CT_low_val = 60    
    &g_CT_high_val = 70    
    &CT_high_val = 555    
    &CT_low_val = 630    
  }
  C0 = L0 >= 70
  C1 = L0 <= 80
  IF C0 AND C1
  {
    &g_CT_low_val = 70    
    &g_CT_high_val = 80    
    &CT_high_val = 630    
    &CT_low_val = 685    
  }
  C0 = L0 >= 80
  C1 = L0 <= 90
  IF C0 AND C1
  {
    &g_CT_low_val = 80    
    &g_CT_high_val = 90    
    &CT_high_val = 685    
    &CT_low_val = 750    
  }
  C0 = L0 >= 90
  C1 = L0 <= 100
  IF C0 AND C1
  {
    &g_CT_low_val = 90    
    &g_CT_high_val = 100    
    &CT_high_val = 750    
    &CT_low_val = 835    
  }
  &CT_calc = &CT_low_val - &CT_high_val
  &g_CT_calc = &g_CT_high_val - &g_CT_low_val
  &g_CT_val = L0 - &g_CT_low_val
  &CT_val = &CT_calc * &g_CT_val
  &CT_val = &CT_val / &g_CT_calc
  L1 = &CT_high_val + &CT_val
  &SERVO_CT = L1    
}

Var 0182, name SERVO_VA, Link USB_SERVOS, Device 37, Output 10, PosL 165, PosC 511, PosR 1000, Type 1

Var 0183, name VA_val

Var 0184, name g_VA_calc

Var 0185, name VA_calc

Var 0186, name g_VA_val

Var 0187, name g_VA_low_val

Var 0188, name g_VA_high_val

Var 0189, name VA_high_val

Var 0190, name VA_low_val

Var 1537, name g_VA, static, Value 0
{
  L0 = &g_VA    
  L2 = L0    
  C0 = L0 >= 0
  C1 = L0 <= 100
  IF C0 AND C1
  {
    &g_VA_low_val = 0    
    &g_VA_high_val = 25    
    &VA_high_val = 165    
    &VA_low_val = 265    
  }
  C0 = L0 >= 100
  C1 = L0 <= 200
  IF C0 AND C1
  {
    &g_VA_low_val = 25    
    &g_VA_high_val = 50    
    &VA_high_val = 265    
    &VA_low_val = 370    
  }
  C0 = L0 >= 200
  C1 = L0 <= 300
  IF C0 AND C1
  {
    &g_VA_low_val = 50    
    &g_VA_high_val = 75    
    &VA_high_val = 370    
    &VA_low_val = 495    
  }
  C0 = L0 >= 300
  C1 = L0 <= 400
  IF C0 AND C1
  {
    &g_VA_low_val = 75    
    &g_VA_high_val = 100    
    &VA_high_val = 495    
    &VA_low_val = 540    
  }
  &VA_calc = &VA_low_val - &VA_high_val
  &g_VA_calc = &g_VA_high_val - &g_VA_low_val
  &g_VA_val = L0 - &g_VA_low_val
  &VA_val = &VA_calc * &g_VA_val
  &VA_val = &VA_val / &g_VA_calc
  L1 = &VA_high_val + &VA_val
  &SERVO_VA = L1    
}

Var 0191, name SERVO_PL, Link USB_SERVOS, Device 37, Output 9, PosL 130, PosC 537, PosR 1000, Type 1

Var 0192, name PL_val

Var 0193, name g_PL_calc

Var 0194, name PL_calc

Var 0195, name g_PL_val

Var 0196, name g_PL_low_val

Var 0197, name g_PL_high_val

Var 0198, name PL_high_val

Var 0199, name PL_low_val

Var 1532, name g_PL, static, Value 0
{
  L0 = &g_PL    
  L2 = L0    
  C0 = L0 >= 0
  C1 = L0 <= 10
  IF C0 AND C1
  {
    &g_PL_low_val = 0    
    &g_PL_high_val = 10    
    &PL_high_val = 135    
    &PL_low_val = 255    
  }
  C0 = L0 >= 10
  C1 = L0 <= 20
  IF C0 AND C1
  {
    &g_PL_low_val = 100    
    &g_PL_high_val = 20    
    &PL_high_val = 255    
    &PL_low_val = 340    
  }
  C0 = L0 >= 200
  C1 = L0 <= 300
  IF C0 AND C1
  {
    &g_PL_low_val = 20    
    &g_PL_high_val = 30    
    &PL_high_val = 340    
    &PL_low_val = 435    
  }
  C0 = L0 >= 30
  C1 = L0 <= 40
  IF C0 AND C1
  {
    &g_PL_low_val = 30    
    &g_PL_high_val = 40    
    &PL_high_val = 435    
    &PL_low_val = 505    
  }
  C0 = L0 >= 40
  C1 = L0 <= 50
  IF C0 AND C1
  {
    &g_PL_low_val = 40    
    &g_PL_high_val = 50    
    &PL_high_val = 505    
    &PL_low_val = 605    
  }
  C0 = L0 >= 50
  C1 = L0 <= 60
  IF C0 AND C1
  {
    &g_PL_low_val = 50    
    &g_PL_high_val = 60    
    &PL_high_val = 605    
    &PL_low_val = 690    
  }
  C0 = L0 >= 600
  C1 = L0 <= 700
  IF C0 AND C1
  {
    &g_PL_low_val = 60    
    &g_PL_high_val = 70    
    &PL_high_val = 690    
    &PL_low_val = 780    
  }
  C0 = L0 >= 700
  C1 = L0 <= 800
  IF C0 AND C1
  {
    &g_PL_low_val = 70    
    &g_PL_high_val = 80    
    &PL_high_val = 780    
    &PL_low_val = 875    
  }
  &PL_calc = &PL_low_val - &PL_high_val
  &g_PL_calc = &g_PL_high_val - &g_PL_low_val
  &g_PL_val = L0 - &g_PL_low_val
  &PL_val = &PL_calc * &g_PL_val
  &PL_val = &PL_val / &g_PL_calc
  L1 = &PL_high_val + &PL_val
  &SERVO_PL = L1    
}

Var 0200, name SERVO_PR, Link USB_SERVOS, Device 37, Output 9, PosL 130, PosC 537, PosR 1000, Type 1

Var 0201, name PR_val

Var 0202, name g_PR_calc

Var 0203, name PR_calc

Var 0204, name g_PR_val

Var 0205, name g_PR_low_val

Var 0206, name g_PR_high_val

Var 0207, name PR_high_val

Var 0208, name PR_low_val

Var 1533, name g_PR, static, Value 0
{
  L0 = &g_PR    
  L2 = L0    
  C0 = L0 >= 0
  C1 = L0 <= 10
  IF C0 AND C1
  {
    &g_PR_low_val = 0    
    &g_PR_high_val = 10    
    &PR_high_val = 130    
    &PR_low_val = 240    
  }
  C0 = L0 >= 10
  C1 = L0 <= 20
  IF C0 AND C1
  {
    &g_PR_low_val = 100    
    &g_PR_high_val = 20    
    &PR_high_val = 240    
    &PR_low_val = 330    
  }
  C0 = L0 >= 200
  C1 = L0 <= 300
  IF C0 AND C1
  {
    &g_PR_low_val = 20    
    &g_PR_high_val = 30    
    &PR_high_val = 330    
    &PR_low_val = 420    
  }
  C0 = L0 >= 30
  C1 = L0 <= 40
  IF C0 AND C1
  {
    &g_PR_low_val = 30    
    &g_PR_high_val = 40    
    &PR_high_val = 420    
    &PR_low_val = 520    
  }
  C0 = L0 >= 40
  C1 = L0 <= 50
  IF C0 AND C1
  {
    &g_PR_low_val = 40    
    &g_PR_high_val = 50    
    &PR_high_val = 520    
    &PR_low_val = 600    
  }
  C0 = L0 >= 50
  C1 = L0 <= 60
  IF C0 AND C1
  {
    &g_PR_low_val = 50    
    &g_PR_high_val = 60    
    &PR_high_val = 600    
    &PR_low_val = 690    
  }
  C0 = L0 >= 600
  C1 = L0 <= 700
  IF C0 AND C1
  {
    &g_PR_low_val = 60    
    &g_PR_high_val = 70    
    &PR_high_val = 690    
    &PR_low_val = 780    
  }
  C0 = L0 >= 700
  C1 = L0 <= 800
  IF C0 AND C1
  {
    &g_PR_low_val = 70    
    &g_PR_high_val = 80    
    &PR_high_val = 780    
    &PR_low_val = 870    
  }
  &PR_calc = &PR_low_val - &PR_high_val
  &g_PR_calc = &g_PR_high_val - &g_PR_low_val
  &g_PR_val = L0 - &g_PR_low_val
  &PR_val = &PR_calc * &g_PR_val
  &PR_val = &PR_val / &g_PR_calc
  L1 = &PR_high_val + &PR_val
  &SERVO_PR = L1    
}

Var 1700, name aD_AFT_L, static, Link IOCARD_OUT, Device 30, Output 109

Var 1701, name aD_AFT_R, static, Link IOCARD_OUT, Device 30, Output 95

Var 1702, name aD_STAIR, static, Link IOCARD_OUT, Device 30, Output 19

Var 1703, name aD_CARGO_AFT, static, Link IOCARD_OUT, Device 30, Output 97

Var 1704, name aD_CARGO_FWD, static, Link IOCARD_OUT, Device 30, Output 96

Var 1705, name aD_EQUIP, static, Link IOCARD_OUT, Device 30, Output 19

Var 1706, name aD_FWD_L, static, Link IOCARD_OUT, Device 30, Output 106

Var 1707, name aD_FWD_R, static, Link IOCARD_OUT, Device 30, Output 93

Var 1708, name aD_OW_EXIT, static, Link IOCARD_OUT, Device 30, Output 107

Var 1709, name aD_OW_EXIT_R, static, Link IOCARD_OUT, Device 30, Output 94

Var 1710, name aD_OWL_L_2, static, Link IOCARD_OUT, Device 30, Output 108

Var 1711, name aD_OW_R_2, static, Link IOCARD_OUT, Device 30, Output 110

Var 0209, name AC_AMP0, Link IOCARD_DISPLAY, Device 30, Digit 3, Numbers 1     // DISPLAY AC AMP 1s

Var 0210, name AC_AMP1, Link IOCARD_DISPLAY, Device 30, Digit 4, Numbers 1     // DISPLAY AC AMP 10s

Var 0211, name DC_VOLT0, Link IOCARD_DISPLAY, Device 30, Digit 5, Numbers 1     // DISPLAY DC VOLTS 1s

Var 0212, name DC_VOLT1, Link IOCARD_DISPLAY, Device 30, Digit 6, Numbers 1     // DISPLAY DC VOLTS 10s

Var 0213, name AC_VOLT0, Link IOCARD_DISPLAY, Device 30, Digit 0, Numbers 1     // DISPLAY AC VOLT 1s

Var 0214, name AC_VOLT1, Link IOCARD_DISPLAY, Device 30, Digit 1, Numbers 1     // DISPLAY AC VOLT 10s

Var 0215, name AC_VOLT2, Link IOCARD_DISPLAY, Device 30, Digit 2, Numbers 1     // DISPLAY AC VOLT 100s

Var 0216, name DC_AMP0, Link IOCARD_DISPLAY, Device 30, Digit 10, Numbers 1     // DISPLAY DC AMP 1s

Var 0217, name DC_AMP1, Link IOCARD_DISPLAY, Device 30, Digit 11, Numbers 1     // DISPLAY DC AMP 10s

Var 0218, name CPS_FREQ0, Link IOCARD_DISPLAY, Device 30, Digit 7, Numbers 1     // DISPLAY CPS FREQ 1s

Var 0219, name CPS_FREQ1, Link IOCARD_DISPLAY, Device 30, Digit 8, Numbers 1     // DISPLAY CPS FREQ 10s

Var 0220, name CPS_FREQ2, Link IOCARD_DISPLAY, Device 30, Digit 9, Numbers 1     // DISPLAY CPS FREQ 100s

Var 1540, name EDCA1, static, Link SUBRUTINE
{
  IF &DC_BAT = 1
  {
    &DC_AMP1 = &EDCA1    
  }
}

Var 1473, name EDCA0, static, Link SUBRUTINE
{
  IF &DC_BAT = 1
  {
    &DC_AMP0 = &EDCA0    
  }
}

Var 1485, name EDCV1, static, Link SUBRUTINE
{
  IF &DC_BAT = 1
  {
    &DC_VOLT1 = &EDCV1    
  }
}

Var 1486, name EDCV0, static, Link SUBRUTINE
{
  IF &DC_BAT = 1
  {
    &DC_VOLT0 = &EDCV0    
  }
}

Var 1489, name EACA1, static, Link SUBRUTINE
{
  IF &DC_BAT = 1
  {
    &AC_AMP1 = &EACA1    
  }
}

Var 1500, name EACA0, static, Link SUBRUTINE
{
  IF &DC_BAT = 1
  {
    &AC_AMP0 = &EACA0    
  }
}

Var 1502, name EACV2, static, Link SUBRUTINE
{
  IF &DC_BAT = 1
  {
    &AC_VOLT2 = &EACV2    
  }
}

Var 1503, name EACV1, static, Link SUBRUTINE
{
  IF &DC_BAT = 1
  {
    &AC_VOLT1 = &EACV1    
  }
}

Var 1504, name EACV0, static, Link SUBRUTINE
{
  IF &DC_BAT = 1
  {
    &AC_VOLT0 = &EACV0    
  }
}

Var 1479, name ECPS2, static, Link SUBRUTINE
{
  IF &DC_BAT = 1
  {
    &CPS_FREQ2 = &ECPS2    
  }
}

Var 1480, name ECPS1, static, Link SUBRUTINE
{
  IF &DC_BAT = 1
  {
    &CPS_FREQ1 = &ECPS1    
  }
}

Var 1481, name ECPS0, static, Link SUBRUTINE
{
  IF &DC_BAT = 1
  {
    &CPS_FREQ0 = &ECPS0    
  }
}

Var 0221, name ELEC_PAN, Link SUBRUTINE
{
  CALL &EACA0
  CALL &EACA1
  CALL &EDCV0
  CALL &EDCV1
  CALL &EACV0
  CALL &EACV1
  CALL &EACV2
  CALL &EDCA0
  CALL &EDCA1
  CALL &ECPS0
  CALL &ECPS1
  CALL &ECPS2
}

Var 0222, name Clear_ELPANEL, Link SUBRUTINE
{
  &AC_AMP0 = -999999    
  &AC_AMP1 = -999999    
  &DC_VOLT0 = -999999    
  &DC_VOLT1 = -999999    
  &AC_VOLT0 = -999999    
  &AC_VOLT1 = -999999    
  &AC_VOLT2 = -999999    
  &DC_AMP0 = -999999    
  &DC_AMP1 = -999999    
  &CPS_FREQ0 = -999999    
  &CPS_FREQ1 = -999999    
  &CPS_FREQ2 = -999999    
}

Var 0223, name BlankFA, Link SUBRUTINE
{
  &FA1 = -999999    
  &FA2 = -999999    
  &FA3 = -999999    
  &FA4 = -999999    
  &FA5 = -999999    
}

Var 0224, name BlankLA, Link SUBRUTINE
{
  &LA1 = -999999    
  &LA2 = -999999    
  &LA3 = -999999    
  &LA4 = -999999    
  &LA5 = -999999    
}

Var 0225, name LineFA, Link SUBRUTINE
{
  &FA1 = -999998    
  &FA2 = -999998    
  &FA3 = -999998    
  &FA4 = -999998    
  &FA5 = -999998    
}

Var 0226, name LineLA, Link SUBRUTINE
{
  &LA1 = -999998    
  &LA2 = -999998    
  &LA3 = -999998    
  &LA4 = -999998    
  &LA5 = -999998    
}

Var 0227, name tiller, Link USB_ANALOGIC, Device 36, Input 1, PosL 1, PosC 140, PosR 255
{
  IF &tiller > 129
  {
    &tiller_offset = &tiller    
  }
  IF &tiller < 127
  {
    &tiller_offset = &tiller    
  }
}

Var 0228, name tiller_offset, Link FSUIPC_OUT, Offset $3BC4, Length 2

Var 2480, name IRS_SELECTOR_L, static

Var 2755, name IRS_SELECTOR_R, static

Var 0229, name sIRS_OFF_L, Link IOCARD_SW, Device 33, Input 72
{
  IF &sIRS_OFF_L = 1
  {
    &IRS_SELECTOR_L = 0    
  }
}

Var 0230, name sIRS_ALIGN_L, Link IOCARD_SW, Device 33, Input 73
{
  IF &sIRS_ALIGN_L = 1
  {
    &IRS_SELECTOR_L = 1    
  }
}

Var 0231, name IRS_NAV_L, Link IOCARD_SW, Device 33, Input 74
{
  IF &IRS_NAV_L = 1
  {
    &IRS_SELECTOR_L = 2    
  }
}

Var 0232, name IRS_ATT_L, Link IOCARD_SW, Device 33, Input 75
{
  IF &IRS_ATT_L = 1
  {
    &IRS_SELECTOR_L = 3    
  }
}

Var 0233, name sIRS_OFF_R, Link IOCARD_SW, Device 33, Input 76
{
  IF &sIRS_OFF_R = 1
  {
    &IRS_SELECTOR_R = 0    
  }
}

Var 0234, name sIRS_ALIGN_R, Link IOCARD_SW, Device 33, Input 77
{
  IF &sIRS_ALIGN_R = 1
  {
    &IRS_SELECTOR_R = 1    
  }
}

Var 0235, name sIRS_NAV_R, Link IOCARD_SW, Device 33, Input 78
{
  IF &sIRS_NAV_R = 1
  {
    &IRS_SELECTOR_R = 2    
  }
}

Var 0236, name sIRS_ATT_R, Link IOCARD_SW, Device 33, Input 79
{
  IF &sIRS_ATT_R = 1
  {
    &IRS_SELECTOR_R = 3    
  }
}

Var 1002, name aIRS_GPS, static, Link IOCARD_OUT, Device 33, Output 95     // IRS GPS INDICATOR

Var 1003, name aIRS_ALIGN_L, static, Link IOCARD_OUT, Device 33, Output 96     // IRS ALIGN L INDICATOR

Var 1004, name aIRS_ALIGN_R, static, Link IOCARD_OUT, Device 33, Output 100     // IRS ALIGN R INDICATOR

Var 1005, name aIRS_ON_DC_L, static, Link IOCARD_OUT, Device 33, Output 98     // IRS ON DC L INDICATOR

Var 1006, name aIRS_ON_DCR, static, Link IOCARD_OUT, Device 33, Output 102     // IRS ON DC R INDICATOR

Var 1007, name aIRS_FAULT_L, static, Link IOCARD_OUT, Device 33, Output 97     // IRS FAULT L INDICATOR

Var 1008, name aIRS_FAULTR, static, Link IOCARD_OUT, Device 33, Output 101     // IRS FAULT R INDICATOR

Var 1009, name aIRS_DC_FAIL_L, static, Link IOCARD_OUT, Device 33, Output 99     // IRS DC FAIL L INDICATOR

Var 1010, name aIRS_DC_FAIL_R, static, Link IOCARD_OUT, Device 33, Output 103     // IRS DC FAIL R INDICATOR

Var 1013, name aIRS_PSEU, static, Link IOCARD_OUT, Device 33, Output 94     // IRS PSEU

Var 2498, name IrsSysSwitch, static, Link IOCARD_SW, Device 33, Input 53     // IRS System Selector

Var 2482, name IrsDsplSel, static     // IRS Display Selector

Var 0237, name sIrsRotTest, Link IOCARD_SW, Device 33, Input 48     // IRS Display ROTARY SWITCH TEST
{
  IF &sIrsRotTest = 1
  {
    &IrsDsplSel = 0    
  }
}

Var 0238, name sIrsRotTKGS, Link IOCARD_SW, Device 33, Input 49     // IRS Display ROTARY SWITCH TKGS
{
  IF &sIrsRotTKGS = 1
  {
    &IrsDsplSel = 1    
  }
}

Var 0239, name sIrsRotPPOS, Link IOCARD_SW, Device 33, Input 50     // IRS Display ROTARY SWITCH PPOS
{
  IF &sIrsRotPPOS = 1
  {
    &IrsDsplSel = 2    
  }
}

Var 0240, name sIrsRotWind, Link IOCARD_SW, Device 33, Input 51     // IRS Display ROTARY SWITCH WIND
{
  IF &sIrsRotWind = 1
  {
    &IrsDsplSel = 3    
  }
}

Var 0241, name sIrsRotHDGSTS, Link IOCARD_SW, Device 33, Input 52     // IRS Display ROTARY SWITCH HDGSTS
{
  IF &sIrsRotHDGSTS = 1
  {
    &IrsDsplSel = 4    
  }
}

Var 2485, name bIRS_KEY1, static, Link IOCARD_SW, Device 33, Input 36

Var 2486, name bIRS_KEY2, static, Link IOCARD_SW, Device 33, Input 44

Var 2487, name bIRS_KEY3, static, Link IOCARD_SW, Device 33, Input 42

Var 2488, name bIRS_KEY4, static, Link IOCARD_SW, Device 33, Input 38

Var 2489, name bIRS_KEY5, static, Link IOCARD_SW, Device 33, Input 40

Var 2490, name bIRS_KEY6, static, Link IOCARD_SW, Device 33, Input 46

Var 2491, name bIRS_KEY7, static, Link IOCARD_SW, Device 33, Input 43

Var 2492, name bIRS_KEY8, static, Link IOCARD_SW, Device 33, Input 37

Var 2493, name bIRS_KEY9, static, Link IOCARD_SW, Device 33, Input 45

Var 2495, name bIRS_KEYENT, static, Link IOCARD_SW, Device 33, Input 47

Var 2484, name bIRS_KEY0, static, Link IOCARD_SW, Device 33, Input 39

Var 2494, name bIRS_KEYCLR, static, Link IOCARD_SW, Device 33, Input 41

Var 1508, name IrsDisp01, static, Link IOCARD_DISPLAY, Device 33, Digit 14, Numbers 1     // first IRS digit

Var 1509, name IrsDisp02, static, Link IOCARD_DISPLAY, Device 33, Digit 13, Numbers 1

Var 1510, name IrsDisp03, static, Link IOCARD_DISPLAY, Device 33, Digit 12, Numbers 1

Var 1511, name IrsDisp04, static, Link IOCARD_DISPLAY, Device 33, Digit 11, Numbers 1

Var 1512, name IrsDisp05, static, Link IOCARD_DISPLAY, Device 33, Digit 10, Numbers 1

Var 1513, name IrsDisp06, static, Link IOCARD_DISPLAY, Device 33, Digit 9, Numbers 1

Var 1515, name IrsDisp07, static, Link IOCARD_DISPLAY, Device 33, Digit 7, Numbers 1

Var 1516, name IrsDisp09, static, Link IOCARD_DISPLAY, Device 33, Digit 6, Numbers 1

Var 1517, name IrsDisp10, static, Link IOCARD_DISPLAY, Device 33, Digit 5, Numbers 1

Var 1518, name IrsDisp11, static, Link IOCARD_DISPLAY, Device 33, Digit 4, Numbers 1

Var 1519, name IrsDisp12, static, Link IOCARD_DISPLAY, Device 33, Digit 3, Numbers 1

Var 1520, name IrsDisp13, static, Link IOCARD_DISPLAY, Device 33, Digit 2, Numbers 1

Var 1521, name IrsDisp14, static, Link IOCARD_DISPLAY, Device 33, Digit 1, Numbers 1     // last IRS digit

Var 0242, name IrsDot1, Link IOCARD_OUT, Device 33, Output 43     // IRS Display Dot 1 from right

Var 0243, name IrsDot2, Link IOCARD_OUT, Device 33, Output 44     // IRS Display Dot 2

Var 0244, name IrsDot3, Link IOCARD_OUT, Device 33, Output 45     // IRS Display Dot 3

Var 0245, name IrsDot4, Link IOCARD_OUT, Device 33, Output 46     // IRS Display Dot 4

Var 0246, name IrsDot5, Link IOCARD_OUT, Device 33, Output 47     // IRS Display Dot 5

Var 0247, name IrsDot6, Link IOCARD_OUT, Device 33, Output 48     // IRS Display Dot 6

Var 1531, name IrsDot, static     // switches dots in IRS display
{
  &IrsDot1 = &IrsDot    
  &IrsDot2 = &IrsDot    
  &IrsDot3 = &IrsDot    
  &IrsDot4 = &IrsDot    
  &IrsDot5 = &IrsDot    
  &IrsDot6 = &IrsDot    
}

Var 1452, name micsel_3, static, Value 2
{
  IF &AUDI3_POWER_ON = 1
  {
    IF &micsel_3 = 0
    {
      &aAU3VH1MI = 1    
      &aAU3VH2MI = 0    
    }
    IF &micsel_3 = 1
    {
      &aAU3VH2MI = 1    
      &aAU3VH1MI = 0    
    }
  }
  ELSE
  {
    &aAU3VH2MI = 0    
    &aAU3VH1MI = 0    
  }
}

Var 1525, name rec_3, static
{
  IF &AUDI3_POWER_ON = 1
  {
    &aAU3VH1VO = TESTBIT &rec_3 ,0
    &aAU3VH2VO = TESTBIT &rec_3 ,1
    &aAU3NA1VO = TESTBIT &rec_3 ,8
    &aAU3NA2VO = TESTBIT &rec_3 ,9
    &aAU3AD1VO = TESTBIT &rec_3 ,10
    &aAU3AD2VO = TESTBIT &rec_3 ,11
    &aAU3MKRVO = TESTBIT &rec_3 ,12
  }
  ELSE
  {
    &rec_3 = 0    
  }
}

Var 0248, name aAU3VH1MI, Link IOCARD_OUT, Device 33, Output 75     // AUDIO3 VHF1 MIC

Var 0249, name aAU3VH2MI, Link IOCARD_OUT, Device 33, Output 76     // AUDIO3 VHF2 MIC

Var 0250, name aAU3VH1VO, Link IOCARD_OUT, Device 33, Output 77     // AUDIO3 VHF1 VOL

Var 0251, name aAU3VH2VO, Link IOCARD_OUT, Device 33, Output 78     // AUDIO3 VHF2 VOL

Var 0252, name aAU3NA1VO, Link IOCARD_OUT, Device 33, Output 79     // AUDIO3 NAV1 VOL

Var 0253, name aAU3NA2VO, Link IOCARD_OUT, Device 33, Output 80     // AUDIO3 NAV2 VOL

Var 0254, name aAU3AD1VO, Link IOCARD_OUT, Device 33, Output 81     // AUDIO3 ADF1 VOL

Var 0255, name aAU3AD2VO, Link IOCARD_OUT, Device 33, Output 82     // AUDIO3 ADF2 VOL

Var 0256, name aAU3MKRVO, Link IOCARD_OUT, Device 33, Output 83     // AUDIO3 MARKER VOL

Var 2078, name AU3VH1MI, static

Var 2079, name AU3VH2MI, static

Var 2091, name bAU3VH1VO, static, Link IOCARD_SW, Device 33, Input 56     // AUDIO3 VHF1 VOL

Var 2092, name bAU3VH2VO, static, Link IOCARD_SW, Device 33, Input 57     // AUDIO3 VHF2 VOL

Var 2099, name bAU3NA1VO, static, Link IOCARD_SW, Device 33, Input 58     // AUDIO3 NAV1 VOL

Var 2100, name bAU3NA2VO, static, Link IOCARD_SW, Device 33, Input 59     // AUDIO3 NAV2 VOL

Var 2096, name bAU3AD1VO, static, Link IOCARD_SW, Device 33, Input 60     // AUDIO3 ADF1 VOL

Var 2097, name bAU3AD2VO, static, Link IOCARD_SW, Device 33, Input 61     // AUDIO3 ADF2 VOL

Var 2098, name bAU3MKRVO, static, Link IOCARD_SW, Device 33, Input 62     // AUDIO3 MARKER VOL

Var 2070, name sAU3ALT_NORM, static, Link IOCARD_SW, Device 33, Input 67     // AUDIO3 ALT-NORM

Var 2094, name AU3RTIC, static

Var 2067, name AU3FILT, static

Var 0257, name bAU3VH1MI, Link IOCARD_SW, Device 33, Input 54     // AUDIO3 VHF1 MIC
{
  IF &bAU3VH1MI = 1
  {
    &AU3VH1MI = -1    
  }
  ELSE
  {
    &AU3VH1MI = 0    
  }
}

Var 0258, name bAU3VH2MI, Link IOCARD_SW, Device 33, Input 55     // AUDIO3 VHF2 MIC
{
  IF &bAU3VH2MI = 1
  {
    &AU3VH2MI = -1    
  }
  ELSE
  {
    &AU3VH2MI = 0    
  }
}

Var 0259, name sAU3RT, Link IOCARD_SW, Device 33, Input 65     // AUDIO3 R-T
{
  IF &sAU3RT = 1
  {
    &AU3RTIC = 0    
  }
  ELSE
  {
    IF &sAU3RT = 0
    {
      &AU3RTIC = 1    
    }
  }
}

Var 0260, name sAU3IC, Link IOCARD_SW, Device 33, Input 66     // AUDIO3 I-C
{
  IF &sAU3IC = 1
  {
    &AU3RTIC = 2    
  }
  ELSE
  {
    IF &sAU3IC = 0
    {
      &AU3RTIC = 1    
    }
  }
}

Var 0261, name sAU3FILT_V, Link IOCARD_SW, Device 33, Input 64     // AUDIO3 FILTER V ROTARY
{
  IF &sAU3FILT_V = 1
  {
    &AU3FILT = 0    
  }
  ELSE
  {
    &AU3FILT = 1    
  }
}

Var 0262, name sAU3FILT_R, Link IOCARD_SW, Device 33, Input 63     // AUDIO3 FILTER R ROTARY
{
  IF &sAU3FILT_R = 1
  {
    &AU3FILT = 2    
  }
  ELSE
  {
    &AU3FILT = 1    
  }
}

Var 2610, name EngEccGuardL, static

Var 2611, name EngEccSwitchL, static     // **** value 1

Var 0263, name sEngEccContrL, Link IOCARD_SW, Device 33, Input 69
{
  IF &sEngEccContrL = 1
  {
    &EngEccGuardL = 1    
    &EngEccSwitchL = CHANGEBITN 0 ,&EngEccSwitchL
  }
  ELSE
  {
    &EngEccGuardL = 0    
  }
}

Var 2612, name EngEccGuardR, static

Var 2613, name EngEccSwitchR, static     // **** value 1

Var 0264, name sEngEccContrR, Link IOCARD_SW, Device 33, Input 70
{
  IF &sEngEccContrR = 1
  {
    &EngEccGuardR = 1    
    &EngEccSwitchR = CHANGEBITN 0 ,&EngEccSwitchR
  }
  ELSE
  {
    &EngEccGuardR = 0    
  }
}

Var 2710, name bWarnTestMach1, static, Link IOCARD_SW, Device 33, Input 87

Var 2711, name bWarnTestMach2, static, Link IOCARD_SW, Device 33, Input 88

Var 2712, name bWarnStallTst1, static, Link IOCARD_SW, Device 33, Input 90

Var 2713, name bWarnStallTst2, static, Link IOCARD_SW, Device 33, Input 91

Var 2643, name FLTREC_G, static

Var 2644, name FLTREC_SW, static

Var 0265, name sFltRecContr, Link IOCARD_SW, Device 33, Input 84     // Flight recorder switch
{
  IF &sFltRecContr = 1
  {
    &FLTREC_G = 1    
    &FLTREC_SW = 0    
  }
  ELSE
  {
    &FLTREC_SW = 1    
    &FLTREC_G = 0    
  }
}

Var 2693, name OxyPassGrd, static

Var 2694, name OxyPassSw, static

Var 0266, name sOxyPassContr, Link IOCARD_SW, Device 33, Input 83     // Passenger Oxy switch
{
  IF &sOxyPassContr = 1
  {
    &OxyPassGrd = 1    
    &OxyPassSw = 1    
  }
  ELSE
  {
    &OxyPassSw = 0    
    &OxyPassGrd = 0    
  }
}

Var 0267, name SERVO_OXY, Link USB_SERVOS, Device 39, Output 1, PosL 192, PosC 511, PosR 1023, Type 1

Var 1024, name TXRX_OXY, static
{
  L0 = 249    
  L1 = &TXRX_OXY * 0.9
  L0 = L0 + L1
  &SERVO_OXY = L0    
}

Var 2607, name DOME_WHITE_SW, static, Value 0

Var 0268, name sDW_DIM, Link IOCARD_SW, Device 33, Input 93
{
  IF &sDW_DIM = 1
  {
    &DOME_WHITE_SW = 0    
  }
  ELSE
  {
    IF &sDW_BRIGHT = 0
    {
      &DOME_WHITE_SW = 1    
    }
  }
}

Var 2704, name Service_Phone, static, Link IOCARD_SW, Device 33, Input 86

Var 0269, name sDW_BRIGHT, Link IOCARD_SW, Device 33, Input 94
{
  IF &sDW_BRIGHT = 1
  {
    &DOME_WHITE_SW = 2    
  }
  ELSE
  {
    IF &sDW_DIM = 0
    {
      &DOME_WHITE_SW = 1    
    }
  }
}

Var 1016, name EngOnL, static, Link IOCARD_OUT, Device 33, Output 85

Var 1017, name EngOnR, static, Link IOCARD_OUT, Device 33, Output 87

Var 1018, name aENG_RevL, static, Link IOCARD_OUT, Device 33, Output 104

Var 1019, name aENG_RevR, static, Link IOCARD_OUT, Device 33, Output 105

Var 1020, name aENG_EngCtrL, static, Link IOCARD_OUT, Device 33, Output 106

Var 1021, name aENG_EngCtrR, static, Link IOCARD_OUT, Device 33, Output 107

Var 1022, name aENG_ALTN_L, static, Link IOCARD_OUT, Device 33, Output 84

Var 1023, name aENG_ALTN_R, static, Link IOCARD_OUT, Device 33, Output 86

Var 1026, name aOxyPassOn, static, Link IOCARD_OUT, Device 33, Output 108

Var 1027, name aGearOvhLeft, static, Link IOCARD_OUT, Device 33, Output 109

Var 1028, name aGearOvhNose, static, Link IOCARD_OUT, Device 33, Output 111

Var 1029, name aGearOvhRight, static, Link IOCARD_OUT, Device 33, Output 92

Var 1031, name aFltRecOff, static, Link IOCARD_OUT, Device 33, Output 112

Var 0270, name LE1_transit, Link IOCARD_OUT, Device 33, Output 11

Var 0271, name LE1_ext, Link IOCARD_OUT, Device 33, Output 12

Var 0272, name LE1_full_ext, Link IOCARD_OUT, Device 33, Output 13

Var 0273, name LE2_transit, Link IOCARD_OUT, Device 33, Output 14

Var 0274, name LE2_ext, Link IOCARD_OUT, Device 33, Output 15

Var 0275, name LE2_full_ext, Link IOCARD_OUT, Device 33, Output 16

Var 0276, name LE3_transit, Link IOCARD_OUT, Device 33, Output 17

Var 0277, name LE3_ext, Link IOCARD_OUT, Device 33, Output 18

Var 0278, name LE3_full_ext, Link IOCARD_OUT, Device 33, Output 19

Var 0279, name LE4_transit, Link IOCARD_OUT, Device 33, Output 20

Var 0280, name LE4_ext, Link IOCARD_OUT, Device 33, Output 21

Var 0281, name LE4_full_ext, Link IOCARD_OUT, Device 33, Output 22

Var 0282, name FL1_transit, Link IOCARD_OUT, Device 33, Output 23

Var 0283, name FL1_ext, Link IOCARD_OUT, Device 33, Output 24

Var 0284, name FL2_transit, Link IOCARD_OUT, Device 33, Output 25

Var 0285, name FL2_ext, Link IOCARD_OUT, Device 33, Output 26

Var 0286, name FL3_transit, Link IOCARD_OUT, Device 33, Output 27

Var 0287, name FL3_ext, Link IOCARD_OUT, Device 33, Output 28

Var 0288, name FL4_transit, Link IOCARD_OUT, Device 33, Output 29

Var 0289, name FL4_ext, Link IOCARD_OUT, Device 33, Output 30

Var 0290, name LE5_transit, Link IOCARD_OUT, Device 33, Output 31

Var 0291, name LE5_ext, Link IOCARD_OUT, Device 33, Output 32

Var 0292, name LE5_full_ext, Link IOCARD_OUT, Device 33, Output 33

Var 0293, name LE6_transit, Link IOCARD_OUT, Device 33, Output 34

Var 0294, name LE6_ext, Link IOCARD_OUT, Device 33, Output 35

Var 0295, name LE6_full_ext, Link IOCARD_OUT, Device 33, Output 36

Var 0296, name LE7_transit, Link IOCARD_OUT, Device 33, Output 37

Var 0297, name LE7_ext, Link IOCARD_OUT, Device 33, Output 38

Var 0298, name LE7_full_ext, Link IOCARD_OUT, Device 33, Output 39

Var 0299, name LE8_transit, Link IOCARD_OUT, Device 33, Output 40

Var 0300, name LE8_ext, Link IOCARD_OUT, Device 33, Output 41

Var 0301, name LE8_full_ext, Link IOCARD_OUT, Device 33, Output 42

Var 0418, name FlapPosL, static     // Flaps needle left 0 to 40000
{
  CALL &FlapsDisplayL
}

Var 0302, name FlapsDisplayL, Link SUBRUTINE
{
  C0 = &AUDI3_POWER_ON = 0
  C1 = &FlapPosL < 10
  IF C0 OR C1
  {
    CALL &AllOffL
  }
  ELSE
  {
    IF &FlapPosL < 990
    {
      CALL &Trans1L
    }
    ELSE
    {
      IF &FlapPosL < 5010
      {
        CALL &Ext1L
      }
      ELSE
      {
        IF &FlapPosL < 9990
        {
          CALL &Trans2L
        }
        ELSE
        {
          CALL &Ext2L
        }
      }
    }
  }
}

Var 0428, name FlapPosR, static     // Flaps needle right 0 to 40000
{
  CALL &FlapsDisplayR
}

Var 0303, name FlapsDisplayR, Link SUBRUTINE
{
  C0 = &OVH_AFT_POW_ON = 0
  C1 = &FlapPosR < 10
  IF C0 OR C1
  {
    CALL &AllOffR
  }
  ELSE
  {
    IF &FlapPosR < 990
    {
      CALL &Trans1R
    }
    ELSE
    {
      IF &FlapPosR < 5010
      {
        CALL &Ext1R
      }
      ELSE
      {
        IF &FlapPosR < 9990
        {
          CALL &Trans2R
        }
        ELSE
        {
          CALL &Ext2R
        }
      }
    }
  }
}

Var 0304, name AllOffL, Link SUBRUTINE
{
  &LE1_transit = 0    
  &LE1_ext = 0    
  &LE1_full_ext = 0    
  &LE2_transit = 0    
  &LE2_ext = 0    
  &LE2_full_ext = 0    
  &LE3_transit = 0    
  &LE3_ext = 0    
  &LE3_full_ext = 0    
  &LE4_transit = 0    
  &LE4_ext = 0    
  &LE4_full_ext = 0    
  &FL1_transit = 0    
  &FL1_ext = 0    
  &FL2_transit = 0    
  &FL2_ext = 0    
}

Var 0305, name AllOffR, Link SUBRUTINE
{
  &FL3_transit = 0    
  &FL3_ext = 0    
  &FL4_transit = 0    
  &FL4_ext = 0    
  &LE5_transit = 0    
  &LE5_ext = 0    
  &LE5_full_ext = 0    
  &LE6_transit = 0    
  &LE6_ext = 0    
  &LE6_full_ext = 0    
  &LE7_transit = 0    
  &LE7_ext = 0    
  &LE7_full_ext = 0    
  &LE8_transit = 0    
  &LE8_ext = 0    
  &LE8_full_ext = 0    
}

Var 0306, name Trans1L, Link SUBRUTINE
{
  &LE1_ext = 0    
  &LE2_ext = 0    
  &LE3_ext = 0    
  &LE4_ext = 0    
  &LE1_transit = 1    
  &LE2_transit = 1    
  &LE3_transit = 1    
  &LE4_transit = 1    
  &FL1_ext = 0    
  &FL2_ext = 0    
  &FL1_transit = 1    
  &FL2_transit = 1    
}

Var 0307, name Trans1R, Link SUBRUTINE
{
  &LE5_ext = 0    
  &LE6_ext = 0    
  &LE7_ext = 0    
  &LE8_ext = 0    
  &LE5_transit = 1    
  &LE6_transit = 1    
  &LE7_transit = 1    
  &LE8_transit = 1    
  &FL3_ext = 0    
  &FL4_ext = 0    
  &FL3_transit = 1    
  &FL4_transit = 1    
}

Var 0308, name Ext1L, Link SUBRUTINE
{
  &LE1_transit = 0    
  &LE2_transit = 0    
  &LE3_transit = 0    
  &LE4_transit = 0    
  &LE1_ext = 1    
  &LE2_ext = 1    
  &LE3_ext = 1    
  &LE4_ext = 1    
  &FL1_transit = 0    
  &FL2_transit = 0    
  &FL1_ext = 1    
  &FL2_ext = 1    
}

Var 0309, name Ext1R, Link SUBRUTINE
{
  &LE5_transit = 0    
  &LE6_transit = 0    
  &LE7_transit = 0    
  &LE8_transit = 0    
  &LE5_ext = 1    
  &LE6_ext = 1    
  &LE7_ext = 1    
  &LE8_ext = 1    
  &FL3_transit = 0    
  &FL4_transit = 0    
  &FL3_ext = 1    
  &FL4_ext = 1    
}

Var 0310, name Trans2L, Link SUBRUTINE
{
  &LE1_full_ext = 0    
  &LE2_full_ext = 0    
  &LE3_full_ext = 0    
  &LE4_full_ext = 0    
  &LE1_transit = 1    
  &LE2_transit = 1    
  &LE3_transit = 1    
  &LE4_transit = 1    
  &LE1_ext = 1    
  &LE2_ext = 1    
  &LE3_ext = 1    
  &LE4_ext = 1    
  &FL1_ext = 1    
  &FL2_ext = 1    
}

Var 0311, name Trans2R, Link SUBRUTINE
{
  &LE5_transit = 1    
  &LE6_transit = 1    
  &LE7_transit = 1    
  &LE8_transit = 1    
  &LE5_ext = 1    
  &LE6_ext = 1    
  &LE7_ext = 1    
  &LE8_ext = 1    
  &LE5_full_ext = 0    
  &LE6_full_ext = 0    
  &LE7_full_ext = 0    
  &LE8_full_ext = 0    
  &FL3_ext = 1    
  &FL4_ext = 1    
}

Var 0312, name Ext2L, Link SUBRUTINE
{
  &LE1_transit = 0    
  &LE2_transit = 0    
  &LE3_transit = 0    
  &LE4_transit = 0    
  &LE1_ext = 0    
  &LE2_ext = 0    
  &LE3_ext = 0    
  &LE4_ext = 0    
  &LE1_full_ext = 1    
  &LE2_full_ext = 1    
  &LE3_full_ext = 1    
  &LE4_full_ext = 1    
  &FL1_ext = 1    
  &FL2_ext = 1    
}

Var 0313, name Ext2R, Link SUBRUTINE
{
  &LE5_transit = 0    
  &LE6_transit = 0    
  &LE7_transit = 0    
  &LE8_transit = 0    
  &LE5_ext = 0    
  &LE6_ext = 0    
  &LE7_ext = 0    
  &LE8_ext = 0    
  &LE5_full_ext = 1    
  &LE6_full_ext = 1    
  &LE7_full_ext = 1    
  &LE8_full_ext = 1    
  &FL3_ext = 1    
  &FL4_ext = 1    
}

Var 2669, name LE_FL_Test, static, Link IOCARD_SW, Device 33, Input 68     // Test button LE Devices
{
  IF &LE_FL_Test = 1
  {
    CALL &LeflAllOn
  }
  ELSE
  {
    CALL &AllOffL
    CALL &AllOffR
    CALL &FlapsDisplayL
    CALL &FlapsDisplayR
  }
}

Var 0314, name LeflAllOn, Link SUBRUTINE
{
  &LE1_transit = 1    
  &LE1_ext = 1    
  &LE1_full_ext = 1    
  &LE2_transit = 1    
  &LE2_ext = 1    
  &LE2_full_ext = 1    
  &LE3_transit = 1    
  &LE3_ext = 1    
  &LE3_full_ext = 1    
  &LE4_transit = 1    
  &LE4_ext = 1    
  &LE4_full_ext = 1    
  &FL1_transit = 1    
  &FL1_ext = 1    
  &FL2_transit = 1    
  &FL2_ext = 1    
  &FL3_transit = 1    
  &FL3_ext = 1    
  &FL4_transit = 1    
  &FL4_ext = 1    
  &LE5_transit = 1    
  &LE5_ext = 1    
  &LE5_full_ext = 1    
  &LE6_transit = 1    
  &LE6_ext = 1    
  &LE6_full_ext = 1    
  &LE7_transit = 1    
  &LE7_ext = 1    
  &LE7_full_ext = 1    
  &LE8_transit = 1    
  &LE8_ext = 1    
  &LE8_full_ext = 1    
}

Var 2534, name D_CrsL, static, Link IOCARD_DISPLAY, Device 15, Digit 0, Numbers 3     // MCP

Var 2532, name CRSLtoNGX, static

Var 1256, name CRSLfromNGX, static
{
  IF &MCP_POWER_ON = 1
  {
    &D_CrsL = &CRSLfromNGX    
  }
}

Var 0315, name t_rot_CL, Value 500

Var 0316, name tempCL, Value 0

Var 0317, name ROTARY_CRSL, Link IOCARD_ENCODER, Device 15, Input 4, Aceleration 4, Type 2
{
  &tempCL = &t_rot_CL    
  L0 = &ROTARY_CRSL * -1     // delete "* -1" before // if turning direc
  &t_rot_CL = ROTATE 0 ,1000 ,L0
  IF &tempCL > &t_rot_CL
  {
    &CRSLtoNGX = 8192    
    &CRSLtoNGX = 2000    
  }
  ELSE
  {
    &CRSLtoNGX = 16384    
    &CRSLtoNGX = 2000    
  }
}

Var 0318, name CRSLtMCPw, Link SUBRUTINE
{
  IF &MCP_POWER_ON = 1
  {
    &D_CrsL = &CRSLfromNGX    
  }
}

Var 0319, name BRIGHT, Link IOCARD_DISPLAY, Device 15, Digit 32, Numbers 3     // Bright control for digits - Not used i

Var 0320, name D_IAS, Link IOCARD_DISPLAY, Device 15, Digit 3, Numbers 2

Var 0321, name D_IAS3, Link IOCARD_DISPLAY, Device 15, Digit 5, Numbers 1

Var 0322, name D_IAS_IND, Link IOCARD_DISPLAY, Device 15, Digit 22, Numbers 1     // A = -999996 B = 8

Var 0323, name D_MACHDP, Link IOCARD_OUT, Device 15, Output 20

Var 0324, name IAS

Var 2550, name IAStoNGX, static

Var 1260, name IASfromNGX, static
{
  IF &IASBlank = 0
  {
    IF &IASfromNGX > 99
    {
      &IAS = &IASfromNGX    
      CALL &IAStMCPw     // Subroutine to set IAS to MCP window
    }
    ELSE
    {
      &IAS = &IASfromNGX    
      CALL &MACHtMCPw     // Subroutine to set MACH to MCP window
    }
  }
}

Var 0325, name t_rot_IAS, Value 500

Var 0326, name tempIAS, Value 0

Var 0327, name ROTARY_IAS, Link IOCARD_ENCODER, Device 15, Input 0, Aceleration 2, Type 2
{
  IF &IASBlank = 0     // Respond only when Ias/Mach display on ..
  {
    &tempIAS = &t_rot_IAS    
    L0 = &ROTARY_IAS * -1
    &t_rot_IAS = ROTATE 0 ,1000 ,L0
    IF &tempIAS > &t_rot_IAS
    {
      &IAStoNGX = 8192    
      &IAStoNGX = 2000    
    }
    ELSE
    {
      &IAStoNGX = 16384    
      &IAStoNGX = 2000    
    }
  }
}

Var 0328, name IAStMCPw, Link SUBRUTINE
{
  IF &MCP_POWER_ON = 1
  {
    &D_MACHDP = 0    
    &D_IAS_IND = -999999         // blank
    L0 = &IAS    
    L1 = DIV L0 ,100
    L2 = MOD L0 ,100
    &D_IAS = L2    
    &D_IAS3 = L1    
  }
}

Var 0329, name MACHtMCPw, Link SUBRUTINE
{
  IF &MCP_POWER_ON = 1
  {
    &D_MACHDP = 1    
    &D_IAS3 = -999999         // blank
    &D_IAS_IND = -999999         // blank
    &D_IAS = &IAS    
  }
}

Var 0330, name BLANKtIASw, Link SUBRUTINE
{
  &D_MACHDP = 0    
  &D_IAS = -999999         // blank
  &D_IAS3 = -999999         // blank
  &D_IAS_IND = -999999         // blank
}

Var 1264, name IASBlank, static     // var for indicating blanking or not blank
{
  IF &IASBlank = 1
  {
    CALL &BLANKtIASw
  }
  ELSE
  {
    IF &IASfromNGX > 99
    {
      &IAS = &IASfromNGX    
      CALL &IAStMCPw     // Subroutine to set IAS to MCP window
    }
    ELSE
    {
      &IAS = &IASfromNGX    
      CALL &MACHtMCPw     // Subroutine to set MACH to MCP window
    }
  }
}

Var 2543, name HDGtoNGX, static

Var 2542, name D_Hdg, static, Link IOCARD_DISPLAY, Device 15, Digit 6, Numbers 3

Var 1268, name HDGfromNGX, static     // HDG from NGX
{
  IF &MCP_POWER_ON = 1
  {
    &D_Hdg = &HDGfromNGX    
  }
}

Var 0331, name BANK_Val, Value 30

Var 0332, name bBANKHDG, Link IOCARD_SW, Device 15, Input 34, Type P
{
  IF &bBANKHDG = 1
  {
    IF &MCP_POWER_ON = 1
    {
      &D_Hdg = &BANK_Val    
    }
  }
  ELSE
  {
    CALL &HDGtMCPw
  }
}

Var 0333, name t_rot_HDG, Value 500

Var 0334, name tempHDG, Value 0

Var 0335, name ROTARY_Hdg, Link IOCARD_ENCODER, Device 15, Input 6, Aceleration 4, Type 2
{
  IF &bBANKHDG = 0     // Turning Heading
  {
    &tempHDG = &t_rot_HDG    
    L0 = &ROTARY_Hdg * -1     // turning right should be plus
    &t_rot_HDG = ROTATE 0 ,1000 ,L0
    IF &tempHDG > &t_rot_HDG
    {
      &HDGtoNGX = 8192    
      &HDGtoNGX = 2000    
    }
    ELSE
    {
      &HDGtoNGX = 16384    
      &HDGtoNGX = 2000    
    }
  }
  ELSE     // Turning Banking
  {
    L0 = &ROTARY_Hdg * -1     // turning right should be plus
    &sBANKING_SEL = LIMIT 0 ,4 ,L0
    IF &sBANKING_SEL = 4
    {
      &BANK_Val = 30    
    }
    IF &sBANKING_SEL = 3
    {
      &BANK_Val = 25    
    }
    IF &sBANKING_SEL = 2
    {
      &BANK_Val = 20    
    }
    IF &sBANKING_SEL = 1
    {
      &BANK_Val = 15    
    }
    IF &sBANKING_SEL = 0
    {
      &BANK_Val = 10    
    }
    &D_Hdg = &BANK_Val    
  }
}

Var 0336, name HDGtMCPw, Link SUBRUTINE
{
  IF &MCP_POWER_ON = 1
  {
    &D_Hdg = &HDGfromNGX    
  }
}

Var 0337, name D_ALT, Link IOCARD_DISPLAY, Device 15, Digit 9, Numbers 3

Var 0338, name D_ALTL00, Link IOCARD_DISPLAY, Device 15, Digit 12, Numbers 1

Var 0339, name D_ALTL0, Link IOCARD_DISPLAY, Device 15, Digit 13, Numbers 1

Var 2525, name ALTtoNGX, static

Var 0340, name t_rot_ALT, Value 500

Var 0341, name tempALT, Value 0

Var 1270, name ALTfromNGX, static
{
  CALL &ALTtMCPw
}

Var 0342, name ROTARY_ALT, Link IOCARD_ENCODER, Device 15, Input 2, Aceleration 4, Type 2
{
  &tempALT = &t_rot_ALT    
  L0 = &ROTARY_ALT * -1     // delete "* -1" before // if turning direc
  &t_rot_ALT = ROTATE 0 ,1000 ,L0
  IF &tempALT > &t_rot_ALT
  {
    &ALTtoNGX = 8192    
    &ALTtoNGX = 2000    
  }
  ELSE
  {
    &ALTtoNGX = 16384    
    &ALTtoNGX = 2000    
  }
}

Var 0343, name ALTtMCPw, Link SUBRUTINE
{
  IF &MCP_POWER_ON = 1
  {
    L0 = &ALTfromNGX    
    IF L0 >= 10000
    {
      &D_ALTL0 = DIV L0 ,10000
      L1 = MOD L0 ,10000
      &D_ALTL00 = DIV L1 ,1000
      &D_ALT = MOD L0 ,1000
    }
    ELSE
    {
      &D_ALTL0 = -999999    
      IF L0 >= 1000
      {
        &D_ALTL00 = DIV L0 ,1000
        &D_ALT = MOD L0 ,1000
      }
      ELSE
      {
        IF L0 = 0
        {
          &D_ALTL00 = 0    
          &D_ALTL0 = 0    
          &D_ALT = L0    
        }
        ELSE
        {
          &D_ALTL00 = -999999    
          &D_ALT = L0    
        }
      }
    }
  }
}

Var 0344, name D_VS, Link IOCARD_DISPLAY, Device 15, Digit 14, Numbers 2

Var 0345, name D_VS3, Link IOCARD_DISPLAY, Device 15, Digit 16, Numbers 1

Var 0346, name D_VS4, Link IOCARD_DISPLAY, Device 15, Digit 17, Numbers 1

Var 0347, name D_VSS, Link IOCARD_DISPLAY, Device 15, Digit 18, Numbers 1

Var 0348, name ROTACTIVE_VS

Var 1272, name VSfromNGX, static
{
  IF &ROTACTIVE_VS = 0
  {
    L0 = 48576    
    IF &VSfromNGX > L0
    {
      L1 = 65536    
      &VS_SET = &VSfromNGX - L1
    }
    ELSE
    {
      &VS_SET = &VSfromNGX    
    }
  }
  ELSE
  {
  }
}

Var 0349, name tempvs

Var 0350, name tempvs0

Var 2555, name VS_SET, static
{
  &tempvs = &VS_SET    
  &tempvs0 = 0    
  CALL &VStMCPw
  &ROTACTIVE_VS = DELAY 0 ,100
}

Var 1274, name VertSpeedBlank, static

Var 0351, name ROTATOR_VS, Link IOCARD_ENCODER, Device 15, Input 11, Aceleration 4, Type 2
{
  IF &aVS = 1     // Respond only when in VS mode ...
  {
    &ROTACTIVE_VS = 1    
    L0 = &ROTATOR_VS * -1
    &tempvs0 = LIMIT -99 ,99 ,L0
    L2 = &tempvs0 * 50
    &VS_SET = &tempvs + L2
  }
}

Var 0352, name VStMCPw, Link SUBRUTINE
{
  IF &MCP_POWER_ON > 0
  {
    IF &VS_SET = -16960
    {
      &D_VSS = -999999         // blank all segments
      &D_VS3 = -999999    
      &D_VS4 = -999999    
      &D_VS = -999999    
    }
    ELSE
    {
      L0 = &VS_SET    
      IF L0 < 0
      {
        &D_VSS = -999998         // minus sign
        L2 = L0 * -1
        &D_VS4 = DIV L2 ,1000
        L1 = MOD L2 ,1000
        &D_VS3 = DIV L1 ,100
        &D_VS = MOD L1 ,100
      }
      IF L0 >= 0
      {
        &D_VSS = -999999         // blank// blank all segments
        &D_VS4 = DIV L0 ,1000
        L1 = MOD L0 ,1000
        &D_VS3 = DIV L1 ,100
        &D_VS = MOD L1 ,100
      }
    }
  }
}

Var 2535, name D_CrsR, static, Link IOCARD_DISPLAY, Device 15, Digit 19, Numbers 3

Var 2533, name CRSRtoNGX, static

Var 1258, name CRSRfromNGX, static
{
  IF &MCP_POWER_ON = 1
  {
    &D_CrsR = &CRSRfromNGX    
  }
}

Var 0353, name t_rot_CR, Value 500

Var 0354, name tempCR, Value 0

Var 0355, name ROTARY_CRSR, Link IOCARD_ENCODER, Device 15, Input 9, Aceleration 4, Type 2
{
  &tempCR = &t_rot_CR    
  L0 = &ROTARY_CRSR * -1     // delete "* -1" before // if turning direc
  &t_rot_CR = ROTATE 0 ,1000 ,L0
  IF &tempCR > &t_rot_CR
  {
    &CRSRtoNGX = 8192    
    &CRSRtoNGX = 2000    
  }
  ELSE
  {
    &CRSRtoNGX = 16384    
    &CRSRtoNGX = 2000    
  }
}

Var 0356, name CRSRtMCPw, Link SUBRUTINE
{
  IF &MCP_POWER_ON = 1
  {
    &D_CrsR = &CRSRfromNGX    
  }
}

Var 2539, name FD_L, static, Value 1

Var 0357, name sFD_L, Link IOCARD_SW, Device 15, Input 16
{
  &FD_L = CHANGEBITN 0 ,&FD_L
}

Var 2527, name AT_ARM, static, Value 1

Var 0358, name sAT_ARM, Link IOCARD_SW, Device 15, Input 33
{
  &AT_ARM = CHANGEBITN 0 ,&AT_ARM
}

Var 2538, name DISENGAGE_BAR, static, Value 0

Var 0359, name sDISENGAGE, Link IOCARD_SW, Device 15, Input 15
{
  &DISENGAGE_BAR = CHANGEBITN 0 ,&DISENGAGE_BAR
}

Var 2540, name FD_R, static, Value 1

Var 0360, name sFD_R, Link IOCARD_SW, Device 15, Input 14
{
  &FD_R = CHANGEBITN 0 ,&FD_R
}

Var 2548, name bN1, static, Link IOCARD_SW, Device 15, Input 32, Type I

Var 2551, name bSPEED, static, Link IOCARD_SW, Device 15, Input 31, Type I

Var 2549, name bSPD_INTV, static, Link IOCARD_SW, Device 15, Input 37, Type I

Var 2531, name bCO, static, Link IOCARD_SW, Device 15, Input 13, Type I

Var 2552, name bVNAV, static, Link IOCARD_SW, Device 15, Input 30, Type I

Var 2546, name bLVL_CHG, static, Link IOCARD_SW, Device 15, Input 29, Type I

Var 2541, name bHDG_SEL, static, Link IOCARD_SW, Device 15, Input 28, Type I

Var 2528, name sBANKING_SEL, static, Value 4

Var 2545, name bLNAV, static, Link IOCARD_SW, Device 15, Input 27, Type I

Var 2553, name bVOR_LOC, static, Link IOCARD_SW, Device 15, Input 25, Type I

Var 2526, name bAPP, static, Link IOCARD_SW, Device 15, Input 24, Type I

Var 2522, name bALT_HLD, static, Link IOCARD_SW, Device 15, Input 23, Type I

Var 2523, name bALT_INTV, static, Link IOCARD_SW, Device 15, Input 36, Type I

Var 2556, name bVS, static, Link IOCARD_SW, Device 15, Input 22, Type I

Var 2529, name bCMD_A, static, Link IOCARD_SW, Device 15, Input 21, Type I

Var 2536, name bCSW_A, static, Link IOCARD_SW, Device 15, Input 20, Type I

Var 2530, name bCMD_B, static, Link IOCARD_SW, Device 15, Input 19, Type I

Var 2537, name bCWS_B, static, Link IOCARD_SW, Device 15, Input 18, Type I

Var 1280, name aFD1, static, Link IOCARD_OUT, Device 15, Output 37

Var 1281, name aFD2, static, Link IOCARD_OUT, Device 15, Output 36

Var 1282, name aATArm, static, Link IOCARD_OUT, Device 15, Output 22

Var 1283, name aN1, static, Link IOCARD_OUT, Device 15, Output 21

Var 1284, name aSPEED, static, Link IOCARD_OUT, Device 15, Output 23

Var 1285, name aVNAV, static, Link IOCARD_OUT, Device 15, Output 25

Var 1286, name aLVL_CHG, static, Link IOCARD_OUT, Device 15, Output 24

Var 1287, name aHDG_SEL, static, Link IOCARD_OUT, Device 15, Output 26

Var 1288, name aLNAV, static, Link IOCARD_OUT, Device 15, Output 29

Var 1289, name aVOR_LOC, static, Link IOCARD_OUT, Device 15, Output 28

Var 1290, name aAPP, static, Link IOCARD_OUT, Device 15, Output 27

Var 1291, name aALT_HLD, static, Link IOCARD_OUT, Device 15, Output 30

Var 1292, name aVS, static, Link IOCARD_OUT, Device 15, Output 31

Var 1293, name aCMD_A, static, Link IOCARD_OUT, Device 15, Output 33

Var 1294, name aCWS_A, static, Link IOCARD_OUT, Device 15, Output 32

Var 1295, name aCMD_B, static, Link IOCARD_OUT, Device 15, Output 35

Var 1296, name aCWS_B, static, Link IOCARD_OUT, Device 15, Output 34

Var 2405, name bWXR, static, Link IOCARD_SW, Device 7, Input 27, Type P

Var 2400, name bSTA, static, Link IOCARD_SW, Device 7, Input 28, Type P

Var 2382, name bARPT, static, Link IOCARD_SW, Device 7, Input 30, Type P

Var 2397, name bPOS, static, Link IOCARD_SW, Device 7, Input 32, Type P

Var 2401, name bTERR, static, Link IOCARD_SW, Device 7, Input 33, Type P

Var 2387, name bFPV, static, Link IOCARD_SW, Device 7, Input 34, Type P

Var 2396, name bMTRS, static, Link IOCARD_SW, Device 7, Input 38, Type P

Var 2404, name WPT, static

Var 2395, name CTR, static

Var 0361, name bWPT, Link IOCARD_SW, Device 7, Input 29, Type I     // WPT on EFIS
{
  IF &bWPT = 1
  {
    IF &STATE_bWPT = 0
    {
      &STATE_bWPT = 1    
      &Double_WPT = 0    
      &STATE_bWPT = DELAY 3 ,70
    }
    ELSE
    {
      IF &STATE_bWPT = 1
      {
        &STATE_bWPT = 2    
      }
    }
  }
  ELSE
  {
    IF &STATE_bWPT = 2
    {
      &Double_WPT = 1    
      &CTR = CHANGEBITN 0 ,&CTR     // DOUBLE CLICKED WPT > CTR
    }
  }
}

Var 0362, name Double_WPT

Var 0363, name STATE_bWPT
{
  IF &STATE_bWPT = 3
  {
    &STATE_bWPT = 0         // reset
    IF &Double_WPT <> 1
    {
      &WPT = CHANGEBITN 0 ,&WPT     // Single CLICKED WPT > WPT
    }
  }
}

Var 2386, name DATA, static

Var 2399, name TFC, static

Var 0364, name bDATA, Link IOCARD_SW, Device 7, Input 31, Type I     // DATA on EFIS
{
  IF &bDATA = 1
  {
    IF &STATE_bDATA = 0
    {
      &STATE_bDATA = 1    
      &Double_DATA = 0    
      &STATE_bDATA = DELAY 3 ,70
    }
    ELSE
    {
      IF &STATE_bDATA = 1
      {
        &STATE_bDATA = 2    
      }
    }
  }
  ELSE
  {
    IF &STATE_bDATA = 2
    {
      &Double_DATA = 1    
      &TFC = CHANGEBITN 0 ,&TFC     // DOUBLE CLICKED DATA > TFC
    }
  }
}

Var 0365, name Double_DATA

Var 0366, name STATE_bDATA     // state of Button_2b
{
  IF &STATE_bDATA = 3
  {
    &STATE_bDATA = 0         // reset
    IF &Double_DATA <> 1
    {
      &DATA = CHANGEBITN 0 ,&DATA     // Single CLICKED DATA > DATA
    }
  }
}

Var 2402, name VOR1ADF1, static, Value 1

Var 0367, name sVOR1, Link IOCARD_SW, Device 7, Input 36
{
  IF &sVOR1 = 1
  {
    &VOR1ADF1 = CHANGEBITN 0 ,&VOR1ADF1
  }
  ELSE
  {
    &VOR1ADF1 = CHANGEBITN 0 ,&VOR1ADF1
  }
}

Var 0368, name sADF1, Link IOCARD_SW, Device 7, Input 37
{
  IF &sADF1 = 1
  {
    &VOR1ADF1 = 2    
  }
  ELSE
  {
    &VOR1ADF1 = 1    
  }
}

Var 2403, name VOR2ADF2, static, Value 1

Var 0369, name sVOR2, Link IOCARD_SW, Device 7, Input 18
{
  IF &sVOR2 = 1
  {
    &VOR2ADF2 = CHANGEBITN 0 ,&VOR2ADF2
  }
  ELSE
  {
    &VOR2ADF2 = CHANGEBITN 0 ,&VOR2ADF2
  }
}

Var 0370, name sADF2, Link IOCARD_SW, Device 7, Input 19
{
  IF &sADF2 = 1
  {
    &VOR2ADF2 = 2    
  }
  ELSE
  {
    &VOR2ADF2 = 1    
  }
}

Var 2394, name MODE, static

Var 0371, name sAPP_E, Link IOCARD_SW, Device 7, Input 9, Type P
{
  &MODE = 0    
}

Var 0372, name sVOR_E, Link IOCARD_SW, Device 7, Input 10, Type P
{
  &MODE = 1    
}

Var 0373, name sMAP, Link IOCARD_SW, Device 7, Input 11, Type P
{
  &MODE = 2    
}

Var 0374, name sPLN, Link IOCARD_SW, Device 7, Input 12, Type P
{
  &MODE = 3    
}

Var 2398, name RANGE, static

Var 0375, name sND_5, Link IOCARD_SW, Device 7, Input 0, Type P
{
  &RANGE = 0    
}

Var 0376, name sND_10, Link IOCARD_SW, Device 7, Input 1, Type P
{
  &RANGE = 1    
}

Var 0377, name sND_20, Link IOCARD_SW, Device 7, Input 2, Type P
{
  &RANGE = 2    
}

Var 0378, name sND_40, Link IOCARD_SW, Device 7, Input 3, Type P
{
  &RANGE = 3    
}

Var 0379, name sND_80, Link IOCARD_SW, Device 7, Input 4, Type P
{
  &RANGE = 4    
}

Var 0380, name sND_160, Link IOCARD_SW, Device 7, Input 5, Type P
{
  &RANGE = 5    
}

Var 0381, name sND_320, Link IOCARD_SW, Device 7, Input 6, Type P
{
  &RANGE = 6    
}

Var 0382, name sND_640, Link IOCARD_SW, Device 7, Input 7, Type P
{
  &RANGE = 7    
}

Var 2392, name MINIMUMS, static

Var 0383, name sRADIO_BARO, Value 0     // When 0 then BARO is active
{
  IF &sRADIO_BARO = 0
  {
    &MINIMUMS = 1    
  }
  ELSE
  {
    &MINIMUMS = 0    
  }
}

Var 0384, name m_delay     // value 0
{
  IF &m_delay = 1
  {
    IF &bMINS = 1
    {
      &sRADIO_BARO = CHANGEBITN 0 ,&sRADIO_BARO
    }
    ELSE
    {
      &RST = CHANGEBITN 0 ,&RST
    }
    ELSE
    {
    }
    &m_delay = 0    
  }
}

Var 2393, name RST, static

Var 0385, name bMINS, Link IOCARD_SW, Device 7, Input 25, Type I
{
  IF &bMINS = 1
  {
    &m_delay = DELAY 1 ,100
  }
  ELSE
  {
  }
}

Var 2384, name BARO, static

Var 0386, name sIN_HPA, Value 0     // When 0 then HPA is active
{
  IF &sIN_HPA = 0
  {
    &BARO = 1    
  }
  ELSE
  {
    &BARO = 0    
  }
}

Var 0387, name b_delay     // value 0
{
  IF &b_delay = 1
  {
    IF &bBARO = 1
    {
      &sIN_HPA = CHANGEBITN 0 ,&sIN_HPA
    }
    ELSE
    {
      &STD = CHANGEBITN 0 ,&STD
    }
    ELSE
    {
    }
    &b_delay = 0    
  }
}

Var 2385, name STD, static

Var 0388, name bBARO, Link IOCARD_SW, Device 7, Input 22, Type I
{
  IF &bBARO = 1
  {
    &b_delay = DELAY 1 ,100
  }
  ELSE
  {
  }
}

Var 0389, name e_delay

Var 0390, name t_rot_RB, Value 500

Var 0391, name tempRB, Value 0

Var 2390, name RADIO_BARO, static

Var 0392, name eMINS_ROT, Link IOCARD_ENCODER, Device 7, Input 23, Aceleration 2, Type 2     // MINS turning
{
  &tempRB = &t_rot_RB    
  L0 = &eMINS_ROT * -1     // delete "* -1" before // if turning direc
  &t_rot_RB = ROTATE 0 ,1000 ,L0
  IF &tempRB > &t_rot_RB
  {
    &RADIO_BARO = 8192    
    &e_delay = DELAY 1 ,1
    &RADIO_BARO = 2000    
  }
  ELSE
  {
    &RADIO_BARO = 16384    
    &e_delay = DELAY 1 ,1
    &RADIO_BARO = 2000    
  }
}

Var 0393, name t_rot_IH, Value 500

Var 0394, name tempIH, Value 0

Var 2383, name IN_HPA, static

Var 0395, name eBARO_ROT, Link IOCARD_ENCODER, Device 7, Input 20, Aceleration 2, Type 2     // BARO turning
{
  &tempIH = &t_rot_IH    
  L0 = &eBARO_ROT * -1     // delete "* -1" before // if turning direc
  &t_rot_IH = ROTATE 0 ,1000 ,L0
  IF &tempIH > &t_rot_IH
  {
    &IN_HPA = 8192    
    &e_delay = DELAY 1 ,1
    &IN_HPA = 2000    
  }
  ELSE
  {
    &IN_HPA = 16384    
    &e_delay = DELAY 1 ,1
    &IN_HPA = 2000    
  }
}

Var 2427, name bWXR_FO, static, Link IOCARD_SW, Device 17, Input 27, Type P

Var 2422, name bSTA_FO, static, Link IOCARD_SW, Device 17, Input 28, Type P

Var 2406, name bARPT_FO, static, Link IOCARD_SW, Device 17, Input 30, Type P

Var 2419, name bPOS_FO, static, Link IOCARD_SW, Device 17, Input 32, Type P

Var 2423, name bTERR_FO, static, Link IOCARD_SW, Device 17, Input 33, Type P

Var 2411, name bFPV_FO, static, Link IOCARD_SW, Device 17, Input 34, Type P

Var 2418, name bMTRS_FO, static, Link IOCARD_SW, Device 17, Input 38, Type P

Var 2426, name WPT_FO, static

Var 2417, name CTR_FO, static

Var 0396, name bWPT_FO, Link IOCARD_SW, Device 17, Input 29, Type I     // WPT on EFIS
{
  IF &bWPT_FO = 1
  {
    IF &STATE_bWPT_FO = 0
    {
      &STATE_bWPT_FO = 1    
      &Double_bWPT_FO = 0    
      &STATE_bWPT_FO = DELAY 3 ,70
    }
    ELSE
    {
      IF &STATE_bWPT_FO = 1
      {
        &STATE_bWPT_FO = 2    
      }
    }
  }
  ELSE
  {
    IF &STATE_bWPT_FO = 2
    {
      &Double_bWPT_FO = 1    
      &CTR_FO = CHANGEBITN 0 ,&CTR_FO     // DOUBLE CLICKED WPT > CTR
    }
  }
}

Var 0397, name Double_bWPT_FO

Var 0398, name STATE_bWPT_FO     // state of Button_2
{
  IF &STATE_bWPT_FO = 3
  {
    &STATE_bWPT_FO = 0         // reset
    IF &Double_bWPT_FO <> 1
    {
      &WPT_FO = CHANGEBITN 0 ,&WPT_FO     // Single CLICKED WPT > WPT
    }
  }
}

Var 2410, name DATA_FO, static

Var 2421, name TFC_FO, static

Var 0399, name bDATA_FO, Link IOCARD_SW, Device 17, Input 31, Type I     // DATA on EFIS
{
  IF &bDATA_FO = 1
  {
    IF &STATE_bDATA_FO = 0
    {
      &STATE_bDATA_FO = 1    
      &Doubl_bDATA_FO = 0    
      &STATE_bDATA_FO = DELAY 3 ,70
    }
    ELSE
    {
      IF &STATE_bDATA_FO = 1
      {
        &STATE_bDATA_FO = 2    
      }
    }
  }
  ELSE
  {
    IF &STATE_bDATA_FO = 2
    {
      &Doubl_bDATA_FO = 1    
      &TFC_FO = CHANGEBITN 0 ,&TFC_FO     // DOUBLE CLICKED DATA > TFC
    }
  }
}

Var 0400, name Doubl_bDATA_FO

Var 0401, name STATE_bDATA_FO     // state of Button_2b
{
  IF &STATE_bDATA_FO = 3
  {
    &STATE_bDATA_FO = 0         // reset
    IF &Doubl_bDATA_FO <> 1
    {
      &DATA_FO = CHANGEBITN 0 ,&DATA_FO     // Single CLICKED DATA > DATA
    }
  }
}

Var 2424, name VOR1ADF1_FO, static

Var 0402, name sVOR1_FO, Link IOCARD_SW, Device 17, Input 36
{
  IF &sVOR1_FO = 1
  {
    &VOR1ADF1_FO = 0    
  }
  ELSE
  {
    IF &sVOR1_FO = 0
    {
      &VOR1ADF1_FO = 1    
    }
  }
}

Var 0403, name sADF1_FO, Link IOCARD_SW, Device 17, Input 37
{
  IF &sADF1_FO = 1
  {
    &VOR1ADF1_FO = 2    
  }
  ELSE
  {
    IF &sADF1_FO = 0
    {
      &VOR1ADF1_FO = 1    
    }
  }
}

Var 2425, name VOR2ADF2_FO, static

Var 0404, name sVOR2_FO, Link IOCARD_SW, Device 17, Input 18
{
  IF &sVOR2_FO = 1
  {
    &VOR2ADF2_FO = 0    
  }
  ELSE
  {
    IF &sVOR2_FO = 0
    {
      &VOR2ADF2_FO = 1    
    }
  }
}

Var 0405, name sADF2_FO, Link IOCARD_SW, Device 17, Input 19
{
  IF &sADF2_FO = 1
  {
    &VOR2ADF2_FO = 2    
  }
  ELSE
  {
    IF &sADF2_FO = 0
    {
      &VOR2ADF2_FO = 1    
    }
  }
}

Var 2416, name MODE_FO, static

Var 0406, name sAPP_E_FO, Link IOCARD_SW, Device 17, Input 9, Type P
{
  &MODE_FO = 0    
}

Var 0407, name sVOR_E_FO, Link IOCARD_SW, Device 17, Input 10, Type P
{
  &MODE_FO = 1    
}

Var 0408, name sMAP_FO, Link IOCARD_SW, Device 17, Input 11, Type P
{
  &MODE_FO = 2    
}

Var 0409, name sPLN_FO, Link IOCARD_SW, Device 17, Input 12, Type P
{
  &MODE_FO = 3    
}

Var 2420, name RANGE_FO, static

Var 0410, name sND_5_FO, Link IOCARD_SW, Device 17, Input 0, Type P
{
  &RANGE_FO = 0    
}

Var 0411, name sND_10_FO, Link IOCARD_SW, Device 17, Input 1, Type P
{
  &RANGE_FO = 1    
}

Var 0412, name sND_20_FO, Link IOCARD_SW, Device 17, Input 2, Type P
{
  &RANGE_FO = 2    
}

Var 0413, name sND_40_FO, Link IOCARD_SW, Device 17, Input 3, Type P
{
  &RANGE_FO = 3    
}

Var 0414, name sND_80_FO, Link IOCARD_SW, Device 17, Input 4, Type P
{
  &RANGE_FO = 4    
}

Var 0415, name sND_160_FO, Link IOCARD_SW, Device 17, Input 5, Type P
{
  &RANGE_FO = 5    
}

Var 0416, name sND_320_FO, Link IOCARD_SW, Device 17, Input 6, Type P
{
  &RANGE_FO = 6    
}

Var 0417, name sND_640_FO, Link IOCARD_SW, Device 17, Input 7, Type P
{
  &RANGE_FO = 7    
}

Var 2414, name MINIMUMS_FO, static

Var 0419, name sRADIO_BARO_FO, Value 0     // When 0 then BARO is active
{
  IF &sRADIO_BARO_FO = 0
  {
    &MINIMUMS_FO = 1    
  }
  ELSE
  {
    &MINIMUMS_FO = 0    
  }
}

Var 0420, name m_delay_FO     // value 0
{
  IF &m_delay_FO = 1
  {
    IF &bMINS_FO = 1
    {
      &sRADIO_BARO_FO = CHANGEBITN 0 ,&sRADIO_BARO_FO
    }
    ELSE
    {
      &RST_FO = CHANGEBITN 0 ,&RST_FO
    }
    ELSE
    {
    }
    &m_delay_FO = 0    
  }
}

Var 2415, name RST_FO, static

Var 0421, name bMINS_FO, Link IOCARD_SW, Device 17, Input 25, Type I
{
  IF &bMINS_FO = 1
  {
    &m_delay_FO = DELAY 1 ,100
  }
  ELSE
  {
  }
}

Var 2408, name BARO_FO, static

Var 0422, name sIN_HPA_FO, Value 0     // When 0 then HPA is active
{
  IF &sIN_HPA_FO = 0
  {
    &BARO_FO = 1    
  }
  ELSE
  {
    &BARO_FO = 0    
  }
}

Var 0423, name b_delay_FO     // value 0
{
  IF &b_delay_FO = 1
  {
    IF &bBARO_FO = 1
    {
      &sIN_HPA_FO = CHANGEBITN 0 ,&sIN_HPA_FO
    }
    ELSE
    {
      &STD_FO = CHANGEBITN 0 ,&STD_FO
    }
    ELSE
    {
    }
    &b_delay_FO = 0    
  }
}

Var 2409, name STD_FO, static

Var 0424, name bBARO_FO, Link IOCARD_SW, Device 17, Input 22, Type I
{
  IF &bBARO_FO = 1
  {
    &b_delay_FO = DELAY 1 ,100
  }
  ELSE
  {
  }
}

Var 0425, name e_delay_FO

Var 0426, name t_rot_RB_FO, Value 500

Var 0427, name tempRB_FO, Value 0

Var 2412, name RADIO_BARO_FO, static

Var 0429, name eMINS_ROT_FO, Link IOCARD_ENCODER, Device 17, Input 23, Aceleration 2, Type 2     // MINS turning
{
  &tempRB_FO = &t_rot_RB_FO    
  L0 = &eMINS_ROT_FO * -1     // delete "* -1" before // if turning direc
  &t_rot_RB_FO = ROTATE 0 ,1000 ,L0
  IF &tempRB_FO > &t_rot_RB_FO
  {
    &RADIO_BARO_FO = 8192    
    &e_delay_FO = DELAY 1 ,1
    &RADIO_BARO_FO = 2000    
  }
  ELSE
  {
    &RADIO_BARO_FO = 16384    
    &e_delay_FO = DELAY 1 ,1
    &RADIO_BARO_FO = 2000    
  }
}

Var 0430, name t_rot_IH_FO, Value 500

Var 0431, name tempIH_FO, Value 0

Var 2407, name IN_HPA_FO, static

Var 0432, name eBARO_ROT_FO, Link IOCARD_ENCODER, Device 17, Input 20, Aceleration 2, Type 2     // BARO turning
{
  &tempIH_FO = &t_rot_IH_FO    
  L0 = &eBARO_ROT_FO * -1     // delete "* -1" before // if turning direc
  &t_rot_IH_FO = ROTATE 0 ,1000 ,L0
  IF &tempIH_FO > &t_rot_IH_FO
  {
    &IN_HPA_FO = 8192    
    &e_delay_FO = DELAY 1 ,1
    &IN_HPA_FO = 2000    
  }
  ELSE
  {
    &IN_HPA_FO = 16384    
    &e_delay_FO = DELAY 1 ,1
    &IN_HPA_FO = 2000    
  }
}

Var 0433, name IAS_SYMBOL

Var 0434, name Blank

Var 0435, name Lit

Var 1265, name IASOverSpeed, static
{
  IF &IASOverSpeed = 1
  {
    &IAS_SYMBOL = 8    
    &FL_TIMER = 1         // Timer for flashing is initiated
    &FLASH_IND = 1    
  }
  ELSE
  {
    &CONTROL_FL = 1         // Kill timer
    &FL_TIMER = 0         // Kill timer
    &FLASH_IND = 0    
  }
}

Var 1266, name IASUnderSpeed, static
{
  IF &IASUnderSpeed = 1
  {
    &IAS_SYMBOL = -999996    
    &FL_TIMER = 1         // Timer for flashing is initiated
    &FLASH_IND = 1    
  }
  ELSE
  {
    &CONTROL_FL = 1         // Kill timer
    &FL_TIMER = 0         // Kill timer
    &FLASH_IND = 0    
  }
}

Var 0436, name FLASH_IND, Link SUBRUTINE
{
  IF &FLASH_IND = 0
  {
    &D_IAS_IND = -999999    
  }
  ELSE
  {
    IF &Blank = 1     // blank all D_IAS_IND segments
    {
      &D_IAS_IND = -999999    
    }
    ELSE
    {
      &D_IAS_IND = &IAS_SYMBOL         // Set to either A or B
    }
  }
}

Var 0437, name CONTROL_FL, Link SUBRUTINE
{
  &Blank = CHANGEBITN 0 ,&Blank
  CALL &FLASH_IND
}

Var 0438, name FL_TIMER
{
  IF &FL_TIMER = 1
  {
    &CONTROL_FL = 0    
    &CONTROL_FL = TIMER 1 ,0 ,50
  }
  ELSE
  {
  }
}

Var 1377, name aCDU1_EXEC, static, Link IOCARD_OUT, Device 31, Output 41

Var 1381, name aCDU1_FAIL, static, Link IOCARD_OUT, Device 31, Output 43

Var 1383, name aCDU1_MSG, static, Link IOCARD_OUT, Device 13, Output 1

Var 1385, name aCDU1_OFST, static, Link IOCARD_OUT, Device 31, Output 45

Var 1379, name aCDU1_CALL, static, Link IOCARD_OUT, Device 13, Output 3

Var 1999, name CDU1_i, static

Var 1998, name CDU2_i, static

Var 2837, name CDU_R_CLR_S, static

Var 2838, name CDU_L_CLR_S, static

Var 1996, name CDU2, static, Link IOCARD_KEYS, Device 23
{
  IF &CDU2 <> 1
  {
    &CDU2_i = &CDU2    
    &CDU2_i = 0    
  }
  ELSE
  {
    &CDU_R_CLR_S = 1    
    &CDU_R_CLR_S = 0    
  }
}

Var 1997, name CDU1, static, Link IOCARD_KEYS, Device 13
{
  IF &CDU1 <> 1
  {
    &CDU1_i = &CDU1    
    &CDU1_i = 0    
  }
  ELSE
  {
    &CDU_L_CLR_S = 1    
    &CDU_L_CLR_S = 0    
  }
}

Var 1378, name aCDU2_EXEC, static, Link IOCARD_OUT, Device 23, Output 2

Var 1382, name aCDU2_FAIL, static, Link IOCARD_OUT, Device 23, Output 4

Var 1384, name aCDU2_MSG, static, Link IOCARD_OUT, Device 23, Output 1

Var 1386, name aCDU2_OFST, static, Link IOCARD_OUT, Device 23, Output 0

Var 1380, name aCDU2_CALL, static, Link IOCARD_OUT, Device 23, Output 3

Var 2579, name NOSE_WHEEL_G, static

Var 2578, name NOSE_WHEEL_SW, static

Var 0439, name sNOSE_WH_S, Link IOCARD_SW, Device 31, Input 33
{
  IF &sNOSE_WH_S = 0
  {
    &NOSE_WHEEL_G = 0    
    &NOSE_WHEEL_SW = 1    
  }
  ELSE
  {
    &NOSE_WHEEL_G = 1    
    &NOSE_WHEEL_SW = 0    
  }
}

Var 2372, name CPT_MAIN_DU, static

Var 0440, name sCPT_OUTBD_PFD, Link IOCARD_SW, Device 31, Input 10
{
  IF &sCPT_OUTBD_PFD = 1
  {
    &CPT_MAIN_DU = 0    
  }
}

Var 0441, name sCPT_NORM, Link IOCARD_SW, Device 31, Input 15
{
  IF &sCPT_NORM = 1
  {
    &CPT_MAIN_DU = 1    
  }
}

Var 0442, name sCPT_ENG_PRI, Link IOCARD_SW, Device 31, Input 16
{
  IF &sCPT_ENG_PRI = 1
  {
    &CPT_MAIN_DU = 2    
  }
}

Var 0443, name sCPT_PFD, Link IOCARD_SW, Device 31, Input 11
{
  IF &sCPT_PFD = 1
  {
    &CPT_MAIN_DU = 3    
  }
}

Var 0444, name sCPT_MFD, Link IOCARD_SW, Device 31, Input 12
{
  IF &sCPT_MFD = 1
  {
    &CPT_MAIN_DU = 4    
  }
}

Var 2371, name CPT_LOWER_DU, static

Var 0445, name sCPT_ENG_LDU, Link IOCARD_SW, Device 31, Input 14
{
  IF &sCPT_ENG_LDU = 1
  {
    &CPT_LOWER_DU = 0    
  }
}

Var 0446, name sCPT_NORM_LDU, Link IOCARD_SW, Device 31, Input 17
{
  IF &sCPT_NORM_LDU = 1
  {
    &CPT_LOWER_DU = 1    
  }
}

Var 0447, name sCPT_ND_LDU, Link IOCARD_SW, Device 31, Input 9
{
  IF &sCPT_ND_LDU = 1
  {
    &CPT_LOWER_DU = 2    
  }
}

Var 2366, name bCPT_AP_RESET, static, Link IOCARD_SW, Device 31, Input 31

Var 2367, name bCPT_AT_RESET, static, Link IOCARD_SW, Device 31, Input 28

Var 2370, name bCPT_FMC_RESET, static, Link IOCARD_SW, Device 31, Input 35

Var 2369, name CPT_DISENGAGE, static

Var 0448, name sCPT_UP_TEST, Link IOCARD_SW, Device 31, Input 27
{
  IF &sCPT_UP_TEST = 1
  {
    &CPT_DISENGAGE = 0    
  }
  ELSE
  {
    &CPT_DISENGAGE = 1    
  }
}

Var 0449, name sCPT_DOWN_TEST, Link IOCARD_SW, Device 31, Input 32
{
  IF &sCPT_DOWN_TEST = 1
  {
    &CPT_DISENGAGE = 2    
  }
  ELSE
  {
    &CPT_DISENGAGE = 1    
  }
}

Var 1228, name aCPT_FIRE_W, static, Link IOCARD_OUT, Device 31, Output 21

Var 1230, name aCPT_MASTER_W, static, Link IOCARD_OUT, Device 31, Output 23


Var 1232, name aFLT_CONT, static, Link IOCARD_OUT, Device 31, Output 31

Var 1233, name aIRS, static, Link IOCARD_OUT, Device 31, Output 19

Var 1234, name aFUEL, static, Link IOCARD_OUT, Device 31, Output 33

Var 1235, name aELECn, static, Link IOCARD_OUT, Device 31, Output 27

Var 1236, name aAPU, static, Link IOCARD_OUT, Device 31, Output 35

Var 1237, name aOVHT_DET, static, Link IOCARD_OUT, Device 31, Output 29

// Var 1238, name aANTI_ICE, static, Link IOCARD_OUT, Device 31, Output 43

// Var 1239, name aHYD, static, Link IOCARD_OUT, Device 31, Output 45

// Var 1240, name aDOORS, static, Link IOCARD_OUT, Device 31, Output 47

// Var 1241, name aENG, static, Link IOCARD_OUT, Device 31, Output 44

// Var 1242, name aOVERHEAD, static, Link IOCARD_OUT, Device 31, Output 46

// Var 1243, name aAIR_COND, static, Link IOCARD_OUT, Device 31, Output 48

Var 1298, name aBELOWGS_0, static, Link IOCARD_OUT, Device 31, Output 16

// Var 1299, name aBELOWGS_1, static, Link IOCARD_OUT, Device 31, Output 52

Var 1304, name aAP_0, static, Link IOCARD_OUT, Device 31, Output 30

// Var 1305, name aAP_1, static, Link IOCARD_OUT, Device 31, Output 17

Var 1306, name aAT_0, static, Link IOCARD_OUT, Device 31, Output 44

// Var 1307, name aAT_1, static, Link IOCARD_OUT, Device 31, Output 19

Var 1308, name aFMC_0, static, Link IOCARD_OUT, Device 31, Output 17

// Var 1309, name aFMC_1, static, Link IOCARD_OUT, Device 31, Output 20

Var 1312, name aSPBRAKE_ARMED, static, Link IOCARD_OUT, Device 31, Output 26

Var 1313, name aSPBRAKE_DNARM, static, Link IOCARD_OUT, Device 31, Output 36

// Var 1314, name a_SPBRAKE_EXT, static, Link IOCARD_OUT, Device 31, Output 51

Var 1315, name aSTAB_OUT_O_TR, static, Link IOCARD_OUT, Device 31, Output 40

Var 1323, name aANTI_SKID, static, Link IOCARD_OUT, Device 31, Output 20

Var 1324, name aAUTOBRAKE_DIS, static, Link IOCARD_OUT, Device 31, Output 12

Var 1325, name aFLAPS_TRANSIT, static, Link IOCARD_OUT, Device 31, Output 14

Var 1326, name aFLAPS_EXTEND, static, Link IOCARD_OUT, Device 31, Output 28

Var 1336, name aNOSE_GEAR_R, static, Link IOCARD_OUT, Device 31, Output 32

Var 1337, name aLEFT_GEAR_R, static, Link IOCARD_OUT, Device 31, Output 46

Var 1338, name aRIGHT_GEAR_R, static, Link IOCARD_OUT, Device 31, Output 38

Var 1339, name aNOSE_GEAR_G, static, Link IOCARD_OUT, Device 31, Output 18

Var 1340, name aLEFT_GEAR_G, static, Link IOCARD_OUT, Device 31, Output 22

Var 1341, name aRIGHT_GEAR_G, static, Link IOCARD_OUT, Device 31, Output 24

Var 1526, name aAP_0_A, static, Link IOCARD_OUT, Device 31, Output 42

Var 1528, name aAT_0_A, static, Link IOCARD_OUT, Device 31, Output 48

// Var 1527, name aAP_1_A, static, Link IOCARD_OUT, Device 31, Output 16

// Var 1529, name aAT_1_A, static, Link IOCARD_OUT, Device 31, Output 18

Var 2520, name bCPT_MASTER_R, static, Link IOCARD_SW, Device 31, Input 68

Var 2444, name bCPT_FIRE_R, static, Link IOCARD_SW, Device 31, Input 71

// Var 2521, name bFO_MASTER_R, static, Link IOCARD_SW, Device 31, Input 17

// Var 2445, name bFO_FIRE_R, static, Link IOCARD_SW, Device 31, Input 23

Var 2732, name bSYS_ANNUN_L, static, Link IOCARD_SW, Device 31, Input 63

// Var 2733, name bSYS_ANNUN_R, static, Link IOCARD_SW, Device 31, Input 8

Var 2557, name AUTOBRAKE_SEL, static

Var 0458, name sAUTOBRAKE_RTO, Link IOCARD_SW, Device 31, Input 6
{
  IF &sAUTOBRAKE_RTO = 1
  {
    &AUTOBRAKE_SEL = 0    
  }
}

Var 0459, name sAUTOBRAKE_OFF, Link IOCARD_SW, Device 31, Input 8
{
  IF &sAUTOBRAKE_OFF = 1
  {
    &AUTOBRAKE_SEL = 1    
  }
}

Var 0460, name sAUTOBRAKE_1, Link IOCARD_SW, Device 31, Input 1
{
  IF &sAUTOBRAKE_1 = 1
  {
    &AUTOBRAKE_SEL = 2    
  }
}

Var 0461, name sAUTOBRAKE_2, Link IOCARD_SW, Device 31, Input 4
{
  IF &sAUTOBRAKE_2 = 1
  {
    &AUTOBRAKE_SEL = 3    
  }
}

Var 0462, name sAUTOBRAKE_3, Link IOCARD_SW, Device 31, Input 5
{
  IF &sAUTOBRAKE_3 = 1
  {
    &AUTOBRAKE_SEL = 4    
  }
}

Var 0463, name sAUTOBRAKE_MAX, Link IOCARD_SW, Device 31, Input 0
{
  IF &sAUTOBRAKE_MAX = 1
  {
    &AUTOBRAKE_SEL = 5    
  }
}

Var 2563, name N1_SEL, static

Var 0464, name sN1_2, Link IOCARD_SW, Device 31, Input 65
{
  IF &sN1_2 = 1
  {
    &N1_SEL = 0    
  }
}

Var 0465, name sN1_1, Link IOCARD_SW, Device 31, Input 66
{
  IF &sN1_1 = 1
  {
    &N1_SEL = 1    
  }
}

Var 0466, name sN1_AUTO, Link IOCARD_SW, Device 31, Input 70
{
  IF &sN1_AUTO = 1
  {
    &N1_SEL = 2    
  }
}

Var 0467, name sN1_BOTH, Link IOCARD_SW, Device 31, Input 69
{
  IF &sN1_BOTH = 1
  {
    &N1_SEL = 3    
  }
}

Var 2565, name SPD_REF_SEL, static

Var 0468, name sSPD_AUTO, Link IOCARD_SW, Device 31, Input 23
{
  IF &sSPD_AUTO = 1
  {
    &SPD_REF_SEL = 1    
  }
}

Var 0469, name sSPD_V1, Link IOCARD_SW, Device 31, Input 19
{
  IF &sSPD_V1 = 1
  {
    &SPD_REF_SEL = 2    
  }
}

Var 0470, name sSPD_VR, Link IOCARD_SW, Device 31, Input 21
{
  IF &sSPD_VR = 1
  {
    &SPD_REF_SEL = 3    
  }
}

Var 0471, name sSPD_WT, Link IOCARD_SW, Device 31, Input 26
{
  IF &sSPD_WT = 1
  {
    &SPD_REF_SEL = 4    
  }
}

Var 0472, name sSPD_VREF, Link IOCARD_SW, Device 31, Input 20
{
  IF &sSPD_VREF = 1
  {
    &SPD_REF_SEL = 5    
  }
}

Var 0473, name sSPD_D, Link IOCARD_SW, Device 31, Input 18
{
  IF &sSPD_D = 1
  {
    &SPD_REF_SEL = 6    
  }
}

Var 0474, name sSPD_SET, Link IOCARD_SW, Device 31, Input 22
{
  IF &sSPD_SET = 1
  {
    &SPD_REF_SEL = 0    
  }
}

Var 2564, name SPEED_REF, static


Var 2562, name N1SET_REF, static


Var 2560, name bENG_BUT_SEL, static, Link IOCARD_SW, Device 31, Input 7, Type P

Var 2561, name bSYS_BUT_SEL, static, Link IOCARD_SW, Device 31, Input 13, Type P

Var 2558, name FUEL_FLOW_SEL, static

Var 0477, name sFUEL_FL_RST, Link IOCARD_SW, Device 31, Input 25
{
  IF &sFUEL_FL_RST = 1
  {
    &FUEL_FLOW_SEL = 0    
  }
  ELSE
  {
    &FUEL_FLOW_SEL = 1    
  }
}

Var 0478, name sFUEL_FL_USED, Link IOCARD_SW, Device 31, Input 24
{
  IF &sFUEL_FL_USED = 1
  {
    &FUEL_FLOW_SEL = 2    
  }
  ELSE
  {
    &FUEL_FLOW_SEL = 1    
  }
}

Var 0479, name bGEAR_LEVER_UP, Link IOCARD_SW, Device 31, Input 2
{
  IF &bGEAR_LEVER_UP = 1
  {
    &GEAR_LEVER_OFF = 0    
    &GEAR_LEVER_UP = 1    
  }
  ELSE
  {
    &GEAR_LEVER_OFF = 1    
    &GEAR_LEVER_UP = 0    
  }
}

Var 2447, name GEAR_LEVER_UP, static

Var 2448, name GEAR_LEVER_OFF, static

Var 2449, name GEAR_LEVER_DN, static

Var 0480, name bGEAR_LEVER_DN, Link IOCARD_SW, Device 31, Input 3
{
  IF &bGEAR_LEVER_DN = 1
  {
    &GEAR_LEVER_OFF = 0    
    &GEAR_LEVER_DN = 1    
  }
  ELSE
  {
    &GEAR_LEVER_OFF = 1    
    &GEAR_LEVER_DN = 0    
  }
}


Var 2378, name FO_DISENGAGE, static



Var 0483, name servo_flaps, Link USB_SERVOS, Device 36, Output 1, PosL 160, PosC 511, PosR 1000

Var 1328, name flaps, static, Value 0
{
  L0 = &flaps    
  L2 = L0    
  C0 = L0 >= 0
  C1 = L0 <= 1000
  IF C0 AND C1
  {
    &flaps_low_val = 0    
    &flaps_high_val = 1000    
    &servo_high_val = 160    
    &servo_low_val = 233         // 0 and 1
  }
  C0 = L0 >= 1000
  C1 = L0 <= 2000
  IF C0 AND C1
  {
    &flaps_low_val = 1000    
    &flaps_high_val = 2000    
    &servo_high_val = 233    
    &servo_low_val = 330         // 1 and 2
  }
  C0 = L0 >= 2000
  C1 = L0 <= 5000
  IF C0 AND C1
  {
    &flaps_low_val = 2000    
    &flaps_high_val = 5000    
    &servo_high_val = 330    
    &servo_low_val = 430         // 2 and 5
  }
  C0 = L0 >= 5000
  C1 = L0 <= 10000
  IF C0 AND C1
  {
    &flaps_low_val = 5000    
    &flaps_high_val = 10000    
    &servo_high_val = 430    
    &servo_low_val = 530         // 5 and 10
  }
  C0 = L0 >= 10000
  C1 = L0 <= 15000
  IF C0 AND C1
  {
    &flaps_low_val = 10000    
    &flaps_high_val = 15000    
    &servo_high_val = 530    
    &servo_low_val = 650         // 10 and 15
  }
  C0 = L0 >= 15000
  C1 = L0 <= 25000
  IF C0 AND C1
  {
    &flaps_low_val = 15000    
    &flaps_high_val = 25000    
    &servo_high_val = 650    
    &servo_low_val = 815      // 15 and 25
  }
  C0 = L0 >= 25000
  C1 = L0 <= 30000
  IF C0 AND C1
  {
    &flaps_low_val = 25000    
    &flaps_high_val = 30000    
    &servo_high_val = 815 
    &servo_low_val = 910      // 25 and 30
  }
  C0 = L0 >= 30000
  C1 = L0 <= 40000
  IF C0 AND C1
  {
    &flaps_low_val = 30000    
    &flaps_high_val = 40000    
    &servo_high_val = 910 
    &servo_low_val = 1005     // 30 and 40
  }
  &servo_calc = &servo_low_val - &servo_high_val
  &flaps_calc = &flaps_high_val - &flaps_low_val
  &flaps_val = L0 - &flaps_low_val
  &servo_val = &servo_calc * &flaps_val
  &servo_val = &servo_val / &flaps_calc
  L1 = &servo_high_val + &servo_val
  &servo_flaps = L1    
  &FlapPosL = &flaps    
}

Var 0484, name servo_val

Var 0485, name flaps_calc

Var 0486, name servo_calc

Var 0487, name flaps_val

Var 0488, name flaps_low_val

Var 0489, name flaps_high_val

Var 0490, name servo_high_val

Var 0491, name servo_low_val

Var 0492, name servo_flaps2, Link USB_SERVOS, Device 36, Output 2, PosL 160, PosC 511, PosR 1000

Var 1329, name flaps2, static, Value 0
{
  L0 = &flaps2    
  L2 = L0    
  C0 = L0 >= 0
  C1 = L0 <= 1000
  IF C0 AND C1
  {
    &flaps_low_v2 = 0    
    &flaps_high_v2 = 1000    
    &servo_high_v2 = 169    
    &servo_low_v2 = 281         // 0 and 1
  }
  C0 = L0 >= 1000
  C1 = L0 <= 2000
  IF C0 AND C1
  {
    &flaps_low_v2 = 1000    
    &flaps_high_v2 = 2000    
    &servo_high_v2 = 281    
    &servo_low_v2 = 480         // 1 and 2
  }
  C0 = L0 >= 2000
  C1 = L0 <= 5000
  IF C0 AND C1
  {
    &flaps_low_v2 = 2000    
    &flaps_high_v2 = 5000    
    &servo_high_v2 = 480    
    &servo_low_v2 = 536         // 2 and 5
  }
  C0 = L0 >= 5000
  C1 = L0 <= 10000
  IF C0 AND C1
  {
    &flaps_low_v2 = 5000    
    &flaps_high_v2 = 10000    
    &servo_high_v2 = 536    
    &servo_low_v2 = 642         // 5 and 10
  }
  C0 = L0 >= 10000
  C1 = L0 <= 15000
  IF C0 AND C1
  {
    &flaps_low_v2 = 10000    
    &flaps_high_v2 = 15000    
    &servo_high_v2 = 642    
    &servo_low_v2 = 745         // 10 and 15
  }
  C0 = L0 >= 15000
  C1 = L0 <= 25000
  IF C0 AND C1
  {
    &flaps_low_v2 = 15000    
    &flaps_high_v2 = 25000    
    &servo_high_v2 = 745    
    &servo_low_v2 = 835         // 15 and 25
  }
  C0 = L0 >= 25000
  C1 = L0 <= 30000
  IF C0 AND C1
  {
    &flaps_low_v2 = 25000    
    &flaps_high_v2 = 30000    
    &servo_high_v2 = 835    
    &servo_low_v2 = 932         // 25 and 30
  }
  C0 = L0 >= 30000
  C1 = L0 <= 40000
  IF C0 AND C1
  {
    &flaps_low_v2 = 30000    
    &flaps_high_v2 = 40000    
    &servo_high_v2 = 932    
    &servo_low_v2 = 1023         // 30 and 40
  }
  &servo_calc2 = &servo_low_v2 - &servo_high_v2
  &flaps_calc2 = &flaps_high_v2 - &flaps_low_v2
  &flaps_v2 = L0 - &flaps_low_v2
  &servo_v2 = &servo_calc2 * &flaps_v2
  &servo_v2 = &servo_v2 / &flaps_calc2
  L1 = &servo_high_v2 + &servo_v2
  &servo_flaps2 = L1    
  &FlapPosR = &flaps2    
}

Var 0493, name servo_v2

Var 0494, name flaps_calc2

Var 0495, name servo_calc2

Var 0496, name flaps_v2

Var 0497, name flaps_low_v2

Var 0498, name flaps_high_v2

Var 0499, name servo_high_v2

Var 0500, name servo_low_v2

Var 1344, name TXRX_BRK_P, static, Value 0
{
  L0 = 170    
  L1 = &TXRX_BRK_P * 0.2
  L0 = L0 + L1
  &SERVO_BRKpress = L0    
}

Var 0501, name SERVO_BRKpress, Link USB_SERVOS, Device 36, Output 4, PosL 160, PosC 550, PosR 1020, Type 1

// Var 2454, name bSYS_TEST, static, Link IOCARD_SW, Device 31, Input 32

Var 2450, name GRDPROXFLAP_G, static

Var 2451, name GRDPROXFLAP_I, static


Var 2452, name GRDPROXGEAR_G, static

Var 2453, name GRDPROXGEAR_I, static


Var 2455, name GRDPROXTERR_G, static

Var 2456, name GRDPROXTERR_I, static


// Var 1373, name aGPWS_INOP, static, Link IOCARD_OUT, Device 31, Output 53

Var 2373, name MIP_LIGHT_TEST, static

Var 0505, name sLIGHT_TEST, Link IOCARD_SW, Device 31, Input 30
{
  IF &sLIGHT_TEST = 1
  {
    &MIP_LIGHT_TEST = 0         // Lights Test ON sent to NGX
  }
  ELSE
  {
    &MIP_LIGHT_TEST = 1         // Lights Test OFF sent to NGX
  }
}

Var 0506, name sLIGHT_DIM, Link IOCARD_SW, Device 31, Input 29
{
  IF &sLIGHT_DIM = 1
  {
    &MIP_LIGHT_TEST = 2    
  }
  ELSE
  {
    &MIP_LIGHT_TEST = 1    
  }
}

Var 1394, name aENG1_OVHT, static, Link IOCARD_OUT, Device 32, Output 23

Var 1395, name aENG2_OVHT, static, Link IOCARD_OUT, Device 32, Output 28

Var 1400, name aFIREENG1, static, Link IOCARD_OUT, Device 32, Output 31

Var 1401, name aFIREAPU, static, Link IOCARD_OUT, Device 32, Output 32

Var 1402, name aFIREENG2, static, Link IOCARD_OUT, Device 32, Output 33

Var 1403, name aFIREWHEEL, static, Link IOCARD_OUT, Device 32, Output 27

Var 1404, name aFIRE_ENG_F, static, Link IOCARD_OUT, Device 32, Output 26

Var 1405, name aAPUDETIO, static, Link IOCARD_OUT, Device 32, Output 25

Var 1406, name aAPU_BDIS, static, Link IOCARD_OUT, Device 32, Output 24

Var 1407, name aENG1_BDIS, static, Link IOCARD_OUT, Device 32, Output 29

Var 1408, name aENG2_BDIS, static, Link IOCARD_OUT, Device 32, Output 30

Var 1410, name aENG1GL, static, Link IOCARD_OUT, Device 32, Output 34

Var 1411, name aAPUGL, static, Link IOCARD_OUT, Device 32, Output 35

Var 1412, name aENG2GL, static, Link IOCARD_OUT, Device 32, Output 36

Var 2442, name HNDENG1, static, Link IOCARD_SW, Device 32, Input 55

Var 2435, name HNDENG1_L, static, Link IOCARD_SW, Device 32, Input 54

Var 2436, name HNDENG1_R, static, Link IOCARD_SW, Device 32, Input 56

Var 2441, name HNDAPU, static, Link IOCARD_SW, Device 32, Input 58

Var 2433, name HNDAPU_L, static, Link IOCARD_SW, Device 32, Input 57

Var 2434, name HNDAPU_R, static, Link IOCARD_SW, Device 32, Input 59

Var 2443, name HNDENG2, static, Link IOCARD_SW, Device 32, Input 61

Var 2437, name HNDENG2_L, static, Link IOCARD_SW, Device 32, Input 60

Var 2438, name HNDENG2_R, static, Link IOCARD_SW, Device 32, Input 62

Var 2430, name BELLCOUT_SW, static, Link IOCARD_SW, Device 32, Input 49

Var 2439, name OVHTDET1, static

Var 0507, name sOVHTDET1_A, Link IOCARD_SW, Device 32, Input 46
{
  IF &sOVHTDET1_A = 1
  {
    &OVHTDET1 = 0    
  }
  ELSE
  {
    &OVHTDET1 = 1    
  }
}

Var 0508, name sOVHTDET1_B, Link IOCARD_SW, Device 32, Input 45
{
  IF &sOVHTDET1_B = 1
  {
    &OVHTDET1 = 2    
  }
  ELSE
  {
    &OVHTDET1 = 1    
  }
}

Var 2440, name OVHTDET2, static

Var 0509, name sOVHTDET2_A, Link IOCARD_SW, Device 32, Input 51
{
  IF &sOVHTDET2_A = 1
  {
    &OVHTDET2 = 0    
  }
  ELSE
  {
    &OVHTDET2 = 1    
  }
}

Var 0510, name sOVHTDET2_B, Link IOCARD_SW, Device 32, Input 50
{
  IF &sOVHTDET2_B = 1
  {
    &OVHTDET2 = 2    
  }
  ELSE
  {
    &OVHTDET2 = 1    
  }
}

Var 2431, name FIRENGTEST, static

Var 0511, name sFIRENGT_L, Link IOCARD_SW, Device 32, Input 47
{
  IF &sFIRENGT_L = 1
  {
    &FIRENGTEST = 0    
  }
  ELSE
  {
    &FIRENGTEST = 1    
  }
}

Var 0512, name sFIRENGT_R, Link IOCARD_SW, Device 32, Input 48
{
  IF &sFIRENGT_R = 1
  {
    &FIRENGTEST = 2    
  }
  ELSE
  {
    &FIRENGTEST = 1    
  }
}

Var 2432, name EXTTEST, static

Var 0513, name sEXTTEST1, Link IOCARD_SW, Device 32, Input 53
{
  IF &sEXTTEST1 = 1
  {
    &EXTTEST = 0    
  }
  ELSE
  {
    &EXTTEST = 1    
  }
}

Var 0514, name sEXTTEST2, Link IOCARD_SW, Device 32, Input 52
{
  IF &sEXTTEST2 = 1
  {
    &EXTTEST = 2    
  }
  ELSE
  {
    &EXTTEST = 1    
  }
}

Var 1413, name aEXT_TEST_FWD, static, Link IOCARD_OUT, Device 32, Output 94

Var 1414, name aEXT_TEST_AFT, static, Link IOCARD_OUT, Device 32, Output 95

Var 1416, name aDISCHARGE_BAR, static, Link IOCARD_OUT, Device 32, Output 88

Var 1417, name aARMED_FWD, static, Link IOCARD_OUT, Device 32, Output 92

Var 1418, name aARMED_AFT, static, Link IOCARD_OUT, Device 32, Output 90

Var 1419, name aFWD, static, Link IOCARD_OUT, Device 32, Output 91

Var 1420, name aAFT, static, Link IOCARD_OUT, Device 32, Output 89

Var 1421, name aDETECT_FAULT, static, Link IOCARD_OUT, Device 32, Output 93

Var 1422, name aDISCHARGE, static, Link IOCARD_OUT, Device 32, Output 87

Var 2107, name F_ARM_SW_AFT, static, Link IOCARD_SW, Device 32, Input 127     // FIRE CARGO AFT ARMED KORRY SWITCH

Var 2108, name F_ARM_SW_FWD, static, Link IOCARD_SW, Device 32, Input 128     // FIRE CARGO FWD ARMED KORRY SWITCH

Var 2109, name F_DET_S_SW_AFT, static

Var 2110, name F_DET_S_SW_FWD, static

Var 2111, name F_D_SW, static

Var 2112, name F_D_SW_G, static

Var 2113, name F_T_SW, static, Link IOCARD_SW, Device 32, Input 117     // FIRE CARGO TEST SWITCH

Var 0515, name sFDETFA, Link IOCARD_SW, Device 32, Input 123     // FIRE CARGO DET SELECT FWD A ROTARY SWITC
{
  IF &sFDETFA = 1
  {
    &F_DET_S_SW_FWD = 0    
  }
}

Var 0516, name sFDETFNORM, Link IOCARD_SW, Device 32, Input 122     // FIRE CARGO DET SELECT FWD NORM ROTARY SW
{
  IF &sFDETFNORM = 1
  {
    &F_DET_S_SW_FWD = 1    
  }
}

Var 0517, name sFDETFB, Link IOCARD_SW, Device 32, Input 121     // FIRE CARGO DET SELECT FWD B ROTARY SWITC
{
  IF &sFDETFB = 1
  {
    &F_DET_S_SW_FWD = 2    
  }
}

Var 0518, name sFDETAA, Link IOCARD_SW, Device 32, Input 120     // FIRE CARGO DET SELECT AFT A ROTARY SWITC
{
  IF &sFDETAA = 1
  {
    &F_DET_S_SW_AFT = 0    
  }
}

Var 0519, name sFDETANORM, Link IOCARD_SW, Device 32, Input 119     // FIRE CARGO DET SELECT AFT NORM ROTARY SW
{
  IF &sFDETANORM = 1
  {
    &F_DET_S_SW_AFT = 1    
  }
}

Var 0520, name sFDETAB, Link IOCARD_SW, Device 32, Input 118     // FIRE CARGO DET SELECT AFT B ROTARY SWITC
{
  IF &sFDETAB = 1
  {
    &F_DET_S_SW_AFT = 2    
  }
}

Var 0521, name sFDISCH, Link IOCARD_SW, Device 32, Input 126     // FIRE CARGO DISCHARGE KORRY SWITCH
{
  IF &sFDISCH = 1
  {
    &F_D_SW_G = 1    
    &F_D_SW = 0    
  }
  ELSE
  {
    &F_D_SW = 1    
    &F_D_SW_G = 0    
  }
}

Var 1450, name micsel_1, static, Value 2
{
  IF &AUDI1_POWER_ON = 1
  {
    IF &micsel_1 = 0
    {
      &aAU1VH1MI = 1    
      &aAU1VH2MI = 0    
    }
    IF &micsel_1 = 1
    {
      &aAU1VH2MI = 1    
      &aAU1VH1MI = 0    
    }
  }
  ELSE
  {
    &aAU1VH2MI = 0    
    &aAU1VH1MI = 0    
  }
}

Var 1523, name rec_1, static
{
  IF &AUDI1_POWER_ON = 1
  {
    &aAU1VH1VO = TESTBIT &rec_1 ,0
    &aAU1VH2VO = TESTBIT &rec_1 ,1
    &aAU1NA1VO = TESTBIT &rec_1 ,8
    &aAU1NA2VO = TESTBIT &rec_1 ,9
    &aAU1AD1VO = TESTBIT &rec_1 ,10
    &aAU1AD2VO = TESTBIT &rec_1 ,11
    &aAU1MKRVO = TESTBIT &rec_1 ,12
  }
  ELSE
  {
    &rec_1 = 0    
  }
}

Var 0522, name aAU1VH1MI, Link IOCARD_OUT, Device 32, Output 14     // AUDIO1 VHF1 MIC

Var 0523, name aAU1VH2MI, Link IOCARD_OUT, Device 32, Output 15     // AUDIO1 VHF2 MIC

Var 0524, name aAU1VH1VO, Link IOCARD_OUT, Device 32, Output 16     // AUDIO1 VHF1 VOL

Var 0525, name aAU1VH2VO, Link IOCARD_OUT, Device 32, Output 17     // AUDIO1 VHF2 VOL

Var 0526, name aAU1NA1VO, Link IOCARD_OUT, Device 32, Output 18     // AUDIO1 NAV1 VOL

Var 0527, name aAU1NA2VO, Link IOCARD_OUT, Device 32, Output 19     // AUDIO1 NAV2 VOL

Var 0528, name aAU1AD1VO, Link IOCARD_OUT, Device 32, Output 20     // AUDIO1 ADF1 VOL

Var 0529, name aAU1AD2VO, Link IOCARD_OUT, Device 32, Output 21     // AUDIO1 ADF2 VOL

Var 0530, name aAU1MKRVO, Link IOCARD_OUT, Device 32, Output 22     // AUDIO1 MARKER VOL

Var 2012, name AU1VH1MI, static

Var 2014, name AU1VH2MI, static

Var 2027, name bAU1VH1VO, static, Link IOCARD_SW, Device 32, Input 29, Type P     // AUDIO1 VHF1 VOL

Var 2028, name bAU1VH2VO, static, Link IOCARD_SW, Device 32, Input 30, Type P     // AUDIO1 VHF2 VOL

Var 2022, name bAU1NA1VO, static, Link IOCARD_SW, Device 32, Input 31, Type P     // AUDIO1 NAV1 VOL

Var 2023, name bAU1NA2VO, static, Link IOCARD_SW, Device 32, Input 32, Type P     // AUDIO1 NAV2 VOL

Var 2017, name bAU1AD1VO, static, Link IOCARD_SW, Device 32, Input 33, Type P     // AUDIO1 ADF1 VOL

Var 2018, name bAU1AD2VO, static, Link IOCARD_SW, Device 32, Input 34, Type P     // AUDIO1 ADF2 VOL

Var 2021, name bAU1MKRVO, static, Link IOCARD_SW, Device 32, Input 35, Type P     // AUDIO1 MARKER VOL

Var 2002, name sAU1ALT_NORM, static, Link IOCARD_SW, Device 32, Input 40     // AUDIO1 ALT-NORM

Var 2030, name AU1RTIC, static

Var 2001, name AU1FILT, static

Var 0531, name bAU1VH1MI, Link IOCARD_SW, Device 32, Input 27     // AUDIO1 VHF1 MIC
{
  IF &bAU1VH1MI = 1
  {
    &AU1VH1MI = -1    
  }
  ELSE
  {
    &AU1VH1MI = 0    
  }
}

Var 0532, name bAU1VH2MI, Link IOCARD_SW, Device 32, Input 28     // AUDIO1 VHF2 MIC
{
  IF &bAU1VH2MI = 1
  {
    &AU1VH2MI = -1    
  }
  ELSE
  {
    &AU1VH2MI = 0    
  }
}

Var 0533, name sAU1RT, Link IOCARD_SW, Device 32, Input 38     // AUDIO1 R-T
{
  IF &sAU1RT = 1
  {
    &AU1RTIC = 0    
  }
  ELSE
  {
    IF &sAU1RT = 0
    {
      &AU1RTIC = 1    
    }
  }
}

Var 0534, name sAU1IC, Link IOCARD_SW, Device 32, Input 39     // AUDIO1 I-C
{
  IF &sAU1IC = 1
  {
    &AU1RTIC = 2    
  }
  ELSE
  {
    IF &sAU1IC = 0
    {
      &AU1RTIC = 1    
    }
  }
}

Var 0535, name sAU1FILT_V, Link IOCARD_SW, Device 32, Input 37     // AUDIO1 FILTER V ROTARY
{
  IF &sAU1FILT_V = 1
  {
    &AU1FILT = 0    
  }
  ELSE
  {
    &AU1FILT = 1    
  }
}

Var 0536, name sAU1FILT_R, Link IOCARD_SW, Device 32, Input 36     // AUDIO1 FILTER R ROTARY
{
  IF &sAU1FILT_R = 1
  {
    &AU1FILT = 2    
  }
  ELSE
  {
    &AU1FILT = 1    
  }
}

Var 1451, name micsel_2, static, Value 2
{
  IF &AUDI2_POWER_ON = 1
  {
    IF &micsel_2 = 0
    {
      &aAU2VH1MI = 1    
      &aAU2VH2MI = 0    
    }
    IF &micsel_2 = 1
    {
      &aAU2VH2MI = 1    
      &aAU2VH1MI = 0    
    }
  }
  ELSE
  {
    &aAU2VH2MI = 0    
    &aAU2VH1MI = 0    
  }
}

Var 1524, name rec_2, static
{
  IF &AUDI2_POWER_ON = 1
  {
    &aAU2VH1VO = TESTBIT &rec_2 ,0
    &aAU2VH2VO = TESTBIT &rec_2 ,1
    &aAU2NA1VO = TESTBIT &rec_2 ,8
    &aAU2NA2VO = TESTBIT &rec_2 ,9
    &aAU2AD1VO = TESTBIT &rec_2 ,10
    &aAU2AD2VO = TESTBIT &rec_2 ,11
    &aAU2MKRVO = TESTBIT &rec_2 ,12
  }
  ELSE
  {
    &rec_2 = 0    
  }
}

Var 0537, name aAU2VH1MI, Link IOCARD_OUT, Device 32, Output 78     // AUDIO2 VHF1 MIC

Var 0538, name aAU2VH2MI, Link IOCARD_OUT, Device 32, Output 79     // AUDIO2 VHF2 MIC

Var 0539, name aAU2VH1VO, Link IOCARD_OUT, Device 32, Output 80     // AUDIO2 VHF1 VOL

Var 0540, name aAU2VH2VO, Link IOCARD_OUT, Device 32, Output 81     // AUDIO2 VHF2 VOL

Var 0541, name aAU2NA1VO, Link IOCARD_OUT, Device 32, Output 82     // AUDIO2 NAV1 VOL

Var 0542, name aAU2NA2VO, Link IOCARD_OUT, Device 32, Output 83     // AUDIO2 NAV2 VOL

Var 0543, name aAU2AD1VO, Link IOCARD_OUT, Device 32, Output 84     // AUDIO2 ADF1 VOL

Var 0544, name aAU2AD2VO, Link IOCARD_OUT, Device 32, Output 85     // AUDIO2 ADF2 VOL

Var 0545, name aAU2MKRVO, Link IOCARD_OUT, Device 32, Output 86     // AUDIO2 MARKER VOL

Var 2034, name AU2VH1MI, static

Var 2044, name AU2VH2MI, static

Var 2057, name bAU2VH1VO, static, Link IOCARD_SW, Device 32, Input 101, Type P     // AUDIO2 VHF1 VOL

Var 2058, name bAU2VH2VO, static, Link IOCARD_SW, Device 32, Input 102, Type P     // AUDIO2 VHF2 VOL

Var 2052, name bAU2NA1VO, static, Link IOCARD_SW, Device 32, Input 103, Type P     // AUDIO2 NAV1 VOL

Var 2053, name bAU2NA2VO, static, Link IOCARD_SW, Device 32, Input 104, Type P     // AUDIO2 NAV2 VOL

Var 2047, name bAU2AD1VO, static, Link IOCARD_SW, Device 32, Input 105, Type P     // AUDIO2 ADF1 VOL

Var 2048, name bAU2AD2VO, static, Link IOCARD_SW, Device 32, Input 106, Type P     // AUDIO2 ADF2 VOL

Var 2051, name bAU2MKRVO, static, Link IOCARD_SW, Device 32, Input 107, Type P     // AUDIO2 MARKER VOL

Var 2031, name sAU2ALT_NORM, static, Link IOCARD_SW, Device 32, Input 112     // AUDIO2 ALT-NORM

Var 2060, name AU2RTIC, static

Var 2033, name AU2FILT, static

Var 0546, name bAU2VH1MI, Link IOCARD_SW, Device 32, Input 99     // AUDIO2 VHF1 MIC
{
  IF &bAU2VH1MI = 1
  {
    &AU2VH1MI = -1    
  }
  ELSE
  {
    &AU2VH1MI = 0    
  }
}

Var 0547, name bAU2VH2MI, Link IOCARD_SW, Device 32, Input 100     // AUDIO2 VHF2 MIC
{
  IF &bAU2VH2MI = 1
  {
    &AU2VH2MI = -1    
  }
  ELSE
  {
    &AU2VH2MI = 0    
  }
}

Var 0548, name sAU2RT, Link IOCARD_SW, Device 32, Input 110     // AUDIO2 R-T
{
  IF &sAU2RT = 1
  {
    &AU2RTIC = 0    
  }
  ELSE
  {
    IF &sAU2RT = 0
    {
      &AU2RTIC = 1    
    }
  }
}

Var 0549, name sAU2IC, Link IOCARD_SW, Device 32, Input 111     // AUDIO2 I-C
{
  IF &sAU2IC = 1
  {
    &AU2RTIC = 2    
  }
  ELSE
  {
    IF &sAU2IC = 0
    {
      &AU2RTIC = 1    
    }
  }
}

Var 0550, name sAU2FILT_V, Link IOCARD_SW, Device 32, Input 109     // AUDIO2 FILTER V ROTARY
{
  IF &sAU2FILT_V = 1
  {
    &AU2FILT = 0    
  }
  ELSE
  {
    &AU2FILT = 1    
  }
}

Var 0551, name sAU2FILT_R, Link IOCARD_SW, Device 32, Input 108     // AUDIO2 FILTER R ROTARY
{
  IF &sAU2FILT_R = 1
  {
    &AU2FILT = 2    
  }
  ELSE
  {
    &AU2FILT = 1    
  }
}

Var 0552, name S_STBOVRD, Link IOCARD_SW, Device 32, Input 135     // STAB TRIM OVERRIDE-NORM
{
  IF &S_STBOVRD = 1
  {
    &STABTRIM_G = 0    
    &STABTRIM_I = 0    
  }
  ELSE
  {
    &STABTRIM_G = 1    
    &STABTRIM_I = 1    
  }
}

Var 2728, name STABTRIM_G, static

Var 2727, name STABTRIM_I, static

Var 0553, name R_STBDAUTO, Link IOCARD_SW, Device 32, Input 137     // STAB TRIM DOOR AUTO ROTARY
{
  IF &R_STBDAUTO = 1
  {
    &DOOR_LCK_SW = 0    
  }
}

Var 0554, name R_STBDUNLK, Link IOCARD_SW, Device 32, Input 136     // STAB TRIM DOOR UNLOCK ROTARY
{
  IF &R_STBDUNLK = 1
  {
    &DOOR_LCK_SW = 1    
  }
}

Var 0555, name R_STBDDENY, Link IOCARD_SW, Device 32, Input 138     // STAB TRIM DOOR DENY ROTARY
{
  IF &R_STBDDENY = 1
  {
    &DOOR_LCK_SW = 3    
  }
}

Var 0556, name aSTBLCKL, Link IOCARD_OUT, Device 32, Output 96     // STAB TRIM LOCK FAIL INDICATOR

Var 0557, name aSTBAUTOL, Link IOCARD_OUT, Device 32, Output 97     // STAB TRIM AUTOUNLOCK INDICATOR

Var 2446, name DOOR_LCK_SW, static

Var 0558, name D_AC_COM1, Link IOCARD_DISPLAY, Device 32, Digit 0, Numbers 6     // COM1 active

Var 0559, name O_AC_COM1DP, Link IOCARD_OUT, Device 32, Output 11     // Decimal Point

Var 0560, name D_ST_COM1, Link IOCARD_DISPLAY, Device 32, Digit 6, Numbers 6     // COM1 standby

Var 0561, name O_ST_COM1DP, Link IOCARD_OUT, Device 32, Output 11     // Decimal Point

Var 2801, name bCOM1_TFR, static, Link IOCARD_SW, Device 32, Input 5, Type P     // Active/Standby swap button

Var 1800, name AC_COM1, static     // read active COM1 display from NGX
{
  IF &COM1_Power_ON = 1
  {
    &D_AC_COM1 = &AC_COM1         // display new frequency
  }
}

Var 1801, name ST_COM1, static     // read standby COM1 display from NGX
{
  IF &COM1_Power_ON = 1
  {
    &D_ST_COM1 = &ST_COM1         // display new standby frequency
  }
}

Var 2781, name ROT_COM1_SW, static, Link IOCARD_ENCODER, Device 32, Input 2, Aceleration 1, Type 2

Var 2782, name ROT_COM1_SF, static, Link IOCARD_ENCODER, Device 32, Input 0, Aceleration 1, Type 2

Var 0562, name D_AC_COM2, Link IOCARD_DISPLAY, Device 32, Digit 64, Numbers 6     // COM2 active

Var 0563, name O_AC_COM2DP, Link IOCARD_OUT, Device 32, Output 75     // Decimal Point

Var 0564, name D_ST_COM2, Link IOCARD_DISPLAY, Device 32, Digit 70, Numbers 6     // COM2 standby

Var 0565, name O_ST_COM2DP, Link IOCARD_OUT, Device 32, Output 75     // Decimal Point

Var 2803, name bCOM2_TFR, static, Link IOCARD_SW, Device 32, Input 77, Type P     // Active/Standby swap button

Var 1802, name AC_COM2, static     // read active display from NGX
{
  IF &COM2_Power_ON = 1
  {
    &D_AC_COM2 = &AC_COM2         // display new frequency
  }
}

Var 1803, name ST_COM2, static     // read standby display from NGX
{
  IF &COM2_Power_ON = 1
  {
    &D_ST_COM2 = &ST_COM2         // display new standby frequency
  }
}

Var 2783, name ROT_COM2_SW, static, Link IOCARD_ENCODER, Device 32, Input 74, Aceleration 1, Type 2

Var 2784, name ROT_COM2_SF, static, Link IOCARD_ENCODER, Device 32, Input 72, Aceleration 1, Type 2

Var 0566, name D_AC_NAV1, Link IOCARD_DISPLAY, Device 32, Digit 16, Numbers 5     // NAV1 active

Var 0567, name O_AC_NAV1DP, Link IOCARD_OUT, Device 32, Output 12     // Decimal Point

Var 0568, name D_ST_NAV1, Link IOCARD_DISPLAY, Device 32, Digit 21, Numbers 5     // NAV1 standby

Var 0569, name O_ST_NAV1DP, Link IOCARD_OUT, Device 32, Output 12     // Decimal Point

Var 2805, name bNAV1_TFR, static, Link IOCARD_SW, Device 32, Input 14, Type P     // Active/Standby swap button

Var 1804, name AC_NAV1, static     // read active NAV1 display from NGX
{
  IF &NAV1_Power_ON = 1
  {
    &D_AC_NAV1 = &AC_NAV1         // display new active NAV1 frequency
  }
}

Var 1805, name ST_NAV1, static     // read standby NAV1 display from NGX
{
  IF &NAV1_Power_ON = 1
  {
    &D_ST_NAV1 = &ST_NAV1         // display new standby NAV1 frequency
  }
}

Var 2785, name ROT_NAV1_SW, static, Link IOCARD_ENCODER, Device 32, Input 11, Aceleration 1, Type 2

Var 2786, name ROT_NAV1_SF, static, Link IOCARD_ENCODER, Device 32, Input 9, Aceleration 1, Type 2

Var 0570, name D_AC_NAV2, Link IOCARD_DISPLAY, Device 32, Digit 80, Numbers 5     // NAV2 active

Var 0571, name O_AC_NAV2DP, Link IOCARD_OUT, Device 32, Output 76     // Decimal Point

Var 0572, name D_ST_NAV2, Link IOCARD_DISPLAY, Device 32, Digit 85, Numbers 5     // NAV2 standby

Var 0573, name O_ST_NAV2DP, Link IOCARD_OUT, Device 32, Output 76     // Decimal Point

Var 2807, name bNAV2_TFR, static, Link IOCARD_SW, Device 32, Input 86, Type P     // Active/Standby swap button

Var 1806, name AC_NAV2, static     // read active NAV2 display from NGX
{
  IF &NAV2_Power_ON = 1
  {
    &D_AC_NAV2 = &AC_NAV2         // display new active NAV2 frequency
  }
}

Var 1807, name ST_NAV2, static     // read standby NAV2 display from NGX
{
  IF &NAV2_Power_ON = 1
  {
    &D_ST_NAV2 = &ST_NAV2         // display new standby NAV2 frequency leadi
  }
}

Var 2787, name ROT_NAV2_SW, static, Link IOCARD_ENCODER, Device 32, Input 83, Aceleration 1, Type 2

Var 2788, name ROT_NAV2_SF, static, Link IOCARD_ENCODER, Device 32, Input 81, Aceleration 1, Type 2

Var 0574, name D_A1Act, Link IOCARD_DISPLAY, Device 32, Digit 32, Numbers 5

Var 0575, name D_A1Act5, Link IOCARD_DISPLAY, Device 32, Digit 42, Numbers 1

Var 0576, name O_A1ActDp, Link IOCARD_OUT, Device 32, Output 13

Var 0577, name D_A1Stb, Link IOCARD_DISPLAY, Device 32, Digit 37, Numbers 5

Var 0578, name D_A1Stb5, Link IOCARD_DISPLAY, Device 32, Digit 45, Numbers 1

Var 0579, name O_A1StbDp, Link IOCARD_OUT, Device 32, Output 13

Var 0580, name ADFSymbol1, Link IOCARD_DISPLAY, Device 32, Digit 42, Numbers 1

Var 0581, name ADFSymbol2, Link IOCARD_DISPLAY, Device 32, Digit 45, Numbers 1

Var 0582, name ANTSymbol1, Link IOCARD_DISPLAY, Device 32, Digit 43, Numbers 1

Var 0583, name ANTSymbol2, Link IOCARD_DISPLAY, Device 32, Digit 44, Numbers 1

Var 1808, name AdfAct, static     // read active window from NG3
{
  IF &ADF_Power_ON = 1
  {
    CALL &Ad1DspAct
  }
}

Var 0584, name Ad1DspAct, Link SUBRUTINE
{
  &D_A1Act = &AdfAct         // fill ADF1 Act display
  IF &D_A1Act < 10000
  {
    &D_A1Act5 = -999998    
    &D_A1Act5 = -999999    
  }
  &O_A1ActDp = 1    
}

Var 1809, name AdfStby, static     // read standby window from NG3
{
  IF &ADF_Power_ON = 1
  {
    CALL &Ad1DspStb
  }
}

Var 0585, name Ad1DspStb, Link SUBRUTINE
{
  &D_A1Stb = &AdfStby         // fill ADF1 Stby display
  IF &D_A1Stb < 10000
  {
    &D_A1Stb5 = -999998    
    &D_A1Stb5 = -999999    
  }
  &O_A1StbDp = 1    
}

Var 2812, name Adf1RotOuter, static, Link IOCARD_ENCODER, Device 32, Input 20, Aceleration 1, Type 2

Var 2813, name Adf1RotInner, static, Link IOCARD_ENCODER, Device 32, Input 18, Aceleration 1, Type 2

Var 2811, name AdfTrf, static, Link IOCARD_SW, Device 32, Input 23, Type P     // Transfer function

Var 2103, name sADF_MODE_SEL, static, Link IOCARD_SW, Device 32, Input 22
{
  IF &ADF_Power_ON = 1
  {
    CALL &ADFSymbols
  }
}

Var 0586, name ADFSymbols, Link SUBRUTINE
{
  &ADFSymbol1 = 1 - &sADF_MODE_SEL
  &ADFSymbol2 = &ADFSymbol1    
  &ANTSymbol1 = &sADF_MODE_SEL    
  &ANTSymbol2 = &ANTSymbol1    
}

Var 2105, name ADF_TONE_SW, static

Var 0587, name sTone_SW, Link IOCARD_SW, Device 32, Input 24
{
  &ADF_TONE_SW = 1 - &sTone_SW     // Used to change direction of switch
}

Var 0588, name AdfOff, Link SUBRUTINE
{
  &D_A1Act = -999999    
  &D_A1Stb = -999999    
  &O_A1ActDp = 0    
  &O_A1StbDp = 0    
  &ADFSymbol1 = 0    
  &ADFSymbol2 = 0    
  &ANTSymbol1 = 0    
  &ANTSymbol2 = 0    
}

Var 0589, name AdfAll, Link SUBRUTINE
{
  &D_A1Act = 88888    
  &D_A1Stb = 88888    
  &O_A1ActDp = 1    
  &O_A1StbDp = 1    
  &ADFSymbol1 = 1    
  &ADFSymbol2 = 1    
  &ANTSymbol1 = 1    
  &ANTSymbol2 = 1    
}

Var 0590, name XPDRFreq

Var 0591, name XPDRFreqLow

Var 0592, name XPDRFreqHigh

Var 0593, name AtcDsp, Link IOCARD_DISPLAY, Device 32, Digit 90, Numbers 4

Var 0594, name ATC_S, Link IOCARD_OUT, Device 32, Output 99     // ATC symbol

Var 0595, name Xpn_1, Link IOCARD_OUT, Device 32, Output 100

Var 0596, name Xpn_2, Link IOCARD_OUT, Device 32, Output 101

Var 1430, name XPDR_annunFAIL, static, Link IOCARD_OUT, Device 32, Output 23

Var 2735, name bTCAS_IDENT, static, Link IOCARD_SW, Device 32, Input 78

Var 2810, name XPDRtoNGX, static

Var 1810, name XPDRfNGX, static     // XPDR code from NGX
{
  &XPDRFreq = &XPDRfNGX    
  &XPDRFreqHigh = DIV &XPDRFreq ,100     // update high rotary value
  &XPDRFreqLow = MOD &XPDRFreq ,100     // update low rotary value
  IF &ATC_Power_ON = 1
  {
    &AtcDsp = &XPDRFreq         // display new frequency
  }
}

Var 0597, name ATC_E_RIGHT, Link IOCARD_ENCODER, Device 32, Input 115, Aceleration 1, Type 2
{
  L0 = &ATC_E_RIGHT * -1
  &XPDRFreqLow = ROTATE 0 ,77 ,L0
  L1 = MOD &XPDRFreqLow ,10
  IF L1 = 8
  {
    &XPDRFreqLow = &XPDRFreqLow + 2
  }
  IF L1 = 9
  {
    &XPDRFreqLow = &XPDRFreqLow - 2
  }
  CALL &AtcOut
}

Var 0598, name ATC_E_LEFT, Link IOCARD_ENCODER, Device 32, Input 113, Aceleration 1, Type 2
{
  L0 = &ATC_E_LEFT * -1
  &XPDRFreqHigh = ROTATE 0 ,77 ,L0
  L1 = MOD &XPDRFreqHigh ,10
  IF L1 = 8
  {
    &XPDRFreqHigh = &XPDRFreqHigh + 2
  }
  IF L1 = 9
  {
    &XPDRFreqHigh = &XPDRFreqHigh - 2
  }
  CALL &AtcOut
}

Var 0599, name AtcOut, Link SUBRUTINE
{
  IF &ATC_Power_ON = 1
  {
    L0 = &XPDRFreqHigh * 100
    &XPDRFreq = L0 + &XPDRFreqLow
    &XPDRtoNGX = TOBCD &XPDRFreq
  }
}

Var 0600, name sXPNDR_STB, Link IOCARD_SW, Device 32, Input 139     // ATC rotary selector
{
  IF &sXPNDR_STB = 1
  {
    &TCAS_MODE = 0    
  }
}

Var 0601, name sXPNDR_ALT, Link IOCARD_SW, Device 32, Input 140
{
  IF &sXPNDR_ALT = 1
  {
    &TCAS_MODE = 1    
  }
}

Var 0602, name sXPNDR_XPN, Link IOCARD_SW, Device 32, Input 141
{
  IF &sXPNDR_XPN = 1
  {
    &TCAS_MODE = 2    
  }
}

Var 0603, name sXPNDR_TAO, Link IOCARD_SW, Device 32, Input 142
{
  IF &sXPNDR_TAO = 1
  {
    &TCAS_MODE = 3    
  }
}

Var 0604, name sXPNDR_TAR, Link IOCARD_SW, Device 32, Input 143
{
  IF &sXPNDR_TAR = 1
  {
    &TCAS_MODE = 4    
  }
}

Var 2740, name TCAS_MODE, static, Link SUBRUTINE     // drives cockpit selector
{
  C0 = &ATC_Power_ON = 0
  C1 = &TCAS_MODE = 0
  IF C0 OR C1
  {
    &Xpn_1 = 0    
    &Xpn_2 = 0    
  }
  ELSE
  {
    IF &sXPNDR = 0
    {
      &Xpn_1 = 1    
      &Xpn_2 = 0    
    }
    ELSE
    {
      &Xpn_1 = 0    
      &Xpn_2 = 1    
    }
  }
}

Var 2742, name sXPNDR, static, Link IOCARD_SW, Device 32, Input 79
{
  CALL &TCAS_MODE     // change indicators
}

Var 2734, name AltSrc, static, Link IOCARD_SW, Device 32, Input 80

Var 0605, name ATC_Power_ON, Link SUBRUTINE
{
  IF &ATC_Power_ON = 0
  {
    &AtcDsp = -999999    
    &Xpn_1 = 0    
    &Xpn_2 = 0    
    &ATC_S = 0    
  }
  ELSE
  {
    &AtcDsp = &XPDRfNGX    
    &ATC_S = 1    
    CALL &TCAS_MODE     // drive number indicator
  }
}

Var 2760, name sRADTEST, static, Link IOCARD_SW, Device 32, Input 69     // TEST

Var 2761, name sRADWX, static, Link IOCARD_SW, Device 32, Input 70     // WX

Var 2762, name sRADTURB, static, Link IOCARD_SW, Device 32, Input 71     // TURB MAP is when all these other input
{
  IF &sRADTURB = 0
  {
    IF &sRADWX = 0
    {
      &sRADMAP = 1    
    }
    IF &sRADWX = 1
    {
      &sRADMAP = 1    
    }
  }
  IF &sRADTURB = 1
  {
    &sRADMAP = 0    
  }
}

Var 2763, name sRADMAP, static

Var 2764, name RADGAIN, static

Var 2765, name RADTILT, static

Var 2772, name RADAUTO, static

Var 0606, name gainold, Value 127

Var 0607, name tiltold, Value 127

Var 0608, name anRADGAIN, Link IOCARD_ANALOGIC, Device 32, Input 2, PosL 0, PosC 127, PosR 255     // RADAR GAIN POT
{
  &RADGAIN = &anRADGAIN / 3
  IF &RADGAIN = 0
  {
    &RADAUTO = 1    
  }
  ELSE
  {
    &RADAUTO = 0    
  }
}

Var 0609, name anRADTILT, Link IOCARD_ANALOGIC, Device 32, Input 3, PosL 0, PosC 127, PosR 255     // RADAR TILT POT
{
  &RADTILT = &anRADTILT / 12
}

Var 0610, Value 0
{
  &control = 0    
  &control = TIMER 1 ,0 ,100
}

Var 0611, name control, Link SUBRUTINE
{
  IF &sRUDNOSEL = 1
  {
    &RUDTrim = &RUDTrim - 300
  }
  IF &sRUDNOSER = 1
  {
    &RUDTrim = &RUDTrim + 300
  }
}

Var 2766, name RUDDER_TR_o, static     // RUDDER TRIM NOSE to NGX

Var 2768, name AILRON_TRIM_o, static     // AILERON TRIM UP SWITCH to NGX

Var 0612, name sRUDNOSEL, Link IOCARD_SW, Device 32, Input 68     // RUDDER TRIM NOSE LEFT
{
  IF &sRUDNOSEL = 1
  {
    &RUDDER_TR_o = 0    
  }
  ELSE
  {
    &RUDDER_TR_o = 1    
  }
}

Var 0613, name sRUDNOSER, Link IOCARD_SW, Device 32, Input 67     // RUDDER TRIM NOSE RIGHT
{
  IF &sRUDNOSER = 1
  {
    &RUDDER_TR_o = 2    
  }
  ELSE
  {
    &RUDDER_TR_o = 1    
  }
}

Var 0614, name sAILUPL, Link IOCARD_SW, Device 32, Input 63     // AILERON TRIM UP LEFT SWITCH
{
  IF &sAILUPL = 1
  {
    IF &sAILDNL = 1
    {
      &AILRON_TRIM_o = 0    
    }
  }
  ELSE
  {
    &AILRON_TRIM_o = 1    
  }
}

Var 0615, name sAILUPR, Link IOCARD_SW, Device 32, Input 64     // AILERON TRIM UP RIGHT SWITCH
{
  IF &sAILUPR = 1
  {
    IF &sAILDNR = 1
    {
      &AILRON_TRIM_o = 2    
    }
  }
  ELSE
  {
    &AILRON_TRIM_o = 1    
  }
}

Var 0616, name sAILDNL, Link IOCARD_SW, Device 32, Input 65     // AILERON TRIM DOWN LEFT SWITCH
{
  IF &sAILDNL = 1
  {
    IF &sAILUPL = 1
    {
      &AILRON_TRIM_o = 0    
    }
  }
  ELSE
  {
    &AILRON_TRIM_o = 1    
  }
}

Var 0617, name sAILDNR, Link IOCARD_SW, Device 32, Input 66     // AILERON TRIM DOWN RIGHT SWITCH
{
  IF &sAILDNR = 1
  {
    IF &sAILUPR = 1
    {
      &AILRON_TRIM_o = 2    
    }
  }
  ELSE
  {
    &AILRON_TRIM_o = 1    
  }
}

Var 0618, name servoRUD, Link USB_SERVOS, Device 40, Output 1, PosL 150, PosC 512, PosR 1023, Type 1

Var 0619, name RUDservoL, Value 191     // Change value for far LEFT if needed

Var 0620, name RUDservoC, Value 256     // Change value for CENTER if needed

Var 0621, name RUDservoR, Value 313     // Change value for far RIGHT if needed

Var 0622, name RUDgauge, Link SUBRUTINE
{
  IF &RUDTrim = 0
  {
    L0 = &RUDservoC    
  }
  ELSE
  {
    IF &RUDTrim < 0     // LEFT
    {
      L0 = &RUDservoC - &RUDservoL
    }
    ELSE     // RIGHT movement
    {
      L0 = &RUDservoR - &RUDservoC
    }
    L0 = L0 * &RUDTrim
    L0 = L0 / 16384
    L0 = L0 + &RUDservoC
  }
  &servoRUD = L0    
}

Var 0623, name RUDTrim, Value 0
{
  CALL &RUDgauge
}

Var 0624, Value 0     // Initialisation of variables
{
  &TdyState = 1         // Display local time
  &Modif_DMY = 0         // no modification
  &Modif_HHMM = 0         // no modification
  &D_CHRBRIGHT = 60         // Display illuminance
}

Var 0625, name D_CHRBRIGHT, Link IOCARD_DISPLAY, Device 16, Digit 16, Numbers 3

Var 0626, name DispUpTot, Link IOCARD_DISPLAY, Device 16, Digit 0, Numbers 4     // Upper display

Var 0627, name DispUpLeft, Link IOCARD_DISPLAY, Device 16, Digit 2, Numbers 2

Var 0628, name DispUpRight, Link IOCARD_DISPLAY, Device 16, Digit 0, Numbers 2

Var 0629, name DecimalU, Link IOCARD_OUT, Device 16, Output 20

Var 0630, name TdyState     // State for Time/Date button

Var 0631, name Modif_DMY     // Activate modification day/month/year

Var 0632, name Modif_HHMM     // Activate modification hour/minutes

Var 0633, name YR_to_Modif     // store year for modification

Var 0634, name DD_to_Modif     // store day for modification

Var 0635, name MM_to_Modif     // store month for modification

Var 0636, name HH_to_Modif     // store hour for modification

Var 0637, name MI_to_Modif     // store minutes for modification

Var 0638, name Limit_DD_Mes     // store total of days per month

Var 0639, name DayofYear     // store day of year

Var 0640, name UtcHour

Var 0641, name UtcMin

Var 1826, name UtcDay, static

Var 1827, name UtcMonth, static

Var 1828, name UtcDayYear, static

Var 1829, name UtcYear, static

Var 1824, name UtcTime, static     // UTC time of the day in sec.
{
  &FsSec = &UtcTime         // for update of 1.Off chrono and blinking
  L0 = &UtcTime / 3600
  &UtcHour = TRUNC L0
  L0 = L0 - &UtcHour
  L0 = L0 * 60
  &UtcMin = TRUNC L0
}

Var 0642, name LocHour

Var 0643, name LocMin

Var 1832, name LocDay, static

Var 1833, name LocMonth, static

Var 1834, name LocDayYear, static

Var 1835, name LocYear, static

Var 1830, name LocTime, static     // local time of the day in sec.
{
  L1 = &LocTime / 3600
  &LocHour = TRUNC L1
  L1 = L1 - &LocHour
  L1 = L1 * 60
  &LocMin = TRUNC L1
  IF &MIP_POWER_ON = 0
  {
    &DispUpTot = -999999    
    &DispUpLeft = -999999    
    &DispUpRight = -999999    
    &DispDownLeft = -999999    
    &DispDownRight = -999999    
    &DecimalU = 0    
    &DecimalC = 0    
    &DecimalD = 0    
  }
  ELSE
  {
    IF &TdyState = 1     // local time
    {
      &DecimalU = 0    
      IF &Modif_HHMM = 0     // modifications off
      {
        &DispUpLeft = &LocHour    
        &DispUpRight = &LocMin    
        &DecimalU = 1    
        &DecimalU = DELAY 0 ,50
      }
      IF &Modif_HHMM = 1     // modification of hours is on
      {
        &DispUpLeft = &HH_to_Modif    
        &DispUpLeft = DELAY -999999 ,50
        &DispUpRight = &MI_to_Modif    
      }
      IF &Modif_HHMM = 2     // modification of minutes is on
      {
        &DispUpRight = &MI_to_Modif    
        &DispUpRight = DELAY -999999 ,50
        &DispUpLeft = &HH_to_Modif    
      }
    }
    IF &TdyState = 2     // local day/month or year
    {
      IF &Modif_DMY = 0     // modifications off
      {
        L0 = MOD &FsSec ,2
        IF L0 = 0
        {
          &DispUpTot = -999999    
          &DispUpTot = &LocYear    
          &DecimalU = 0    
        }
        ELSE
        {
          &DispUpLeft = -999999    
          &DispUpRight = -999999    
          &DispUpLeft = &LocDay    
          &DispUpRight = &LocMonth    
          &DecimalU = 1    
        }
      }
      IF &Modif_DMY = 1     // modification of day on
      {
        &DecimalU = 1    
        &DispUpRight = -999999    
        &DispUpRight = &MM_to_Modif    
        &DispUpLeft = &DD_to_Modif    
        &DispUpLeft = DELAY -999999 ,50
      }
      IF &Modif_DMY = 2     // modification of month on
      {
        &DecimalU = 1    
        &DispUpLeft = &DD_to_Modif    
        &DispUpRight = &MM_to_Modif    
        &DispUpRight = DELAY -999999 ,50
      }
      IF &Modif_DMY = 3     // modification of year on
      {
        &DecimalU = 0    
        &DispUpTot = &YR_to_Modif    
        &DispUpTot = DELAY -999999 ,50
      }
    }
    IF &TdyState = 3     // UTC time
    {
      &DispUpLeft = &UtcHour    
      &DispUpRight = &UtcMin    
      &DecimalU = 1    
      &DecimalU = DELAY 0 ,10
    }
    IF &TdyState = 4     // UTC day/month and year
    {
      L0 = MOD &FsSec ,2
      IF L0 = 0
      {
        &DispUpTot = -999999    
        &DispUpTot = &UtcYear    
        &DecimalU = 0    
      }
      ELSE
      {
        &DispUpLeft = -999999    
        &DispUpRight = -999999    
        &DispUpLeft = &UtcDay    
        &DispUpRight = &UtcMonth    
        &DecimalU = 1    
      }
    }
    IF &ChrState = 1
    {
      &ChrSec = &ChrSec + 1
      &SecondNeedle = &SecondNeedle + 1
      &DecimalD = 0    
      &DecimalD = DELAY 1 ,50
    }
    IF &EtState = 1
    {
      &EtSec = &EtSec + 1
      &DecimalC = 0    
      &DecimalC = DELAY 1 ,50
    }
    IF &ChrState > 0
    {
      &DispDownRight = &ChrMin    
      IF &ChrHour > 0
      {
        &DispDownLeft = &ChrHour    
      }
      ELSE
      {
        &DispDownLeft = -999999    
      }
    }
    ELSE
    {
      &ChrHour = 0         // reset CHR
      &ChrMin = 0    
      &ChrSec = 0    
      &SecondNeedle = 0    
      &DecimalD = 0    
      IF &EtState > 0
      {
        IF &EtHour = 0
        {
          &DispDownRight = &EtSec    
          &DispDownLeft = &EtMin    
        }
        ELSE
        {
          &DispDownRight = &EtMin    
          &DispDownLeft = &EtHour    
        }
      }
      ELSE     // Neither CHR nor ET active
      {
        &DispDownLeft = -999999    
        &DispDownRight = -999999    
        &DecimalC = 0    
      }
    }
  }
}

Var 2260, name TdySw, static, Link IOCARD_SW, Device 16, Input 1, Type P     // button Time/Date
{
  &TdyState = &TdyState + 1     // cycling content of upper display
  &Modif_DMY = 0         // reset modifying of day/month/year
  &Modif_HHMM = 0         // reset modifying of minutes/hours
  IF &TdyState > 4     // check if outside limit of cycle
  {
    &TdyState = 1         // if yes put it back to 1
  }
}

Var 2259, name SW_SET, static, Link IOCARD_SW, Device 16, Input 2, Type P     // button SET
{
  IF &TdyState = 1     // local time selected
  {
    &Modif_HHMM = &Modif_HHMM + 1
    IF &Modif_HHMM = 1
    {
      &HH_to_Modif = &LocHour         // transfer hour into variable to be modifi
      &MI_to_Modif = &LocMin         // transfer minutes into variable to be mod
    }
    IF &Modif_HHMM = 3
    {
      &Modif_HHMM = 0         // close modification and go back to displa
      &LocHour = &HH_to_Modif    
      &LocMin = &MI_to_Modif    
    }
  }
  IF &TdyState = 2     // local day/month and year selected
  {
    &Modif_DMY = &Modif_DMY + 1
    IF &Modif_DMY = 1
    {
      &DD_to_Modif = &LocDay         // transfer day into variable to be modifie
      &MM_to_Modif = &LocMonth         // transfer month into variable to be modif
      &YR_to_Modif = &LocYear         // transfer year into variable to be modifi
      CALL &ChkGapYear     // test if it is a gap year
      CALL &ChkDays
    }
    IF &Modif_DMY = 4
    {
      &Modif_DMY = 0         // close modification and store new values
      &LocDay = &DD_to_Modif    
      &LocMonth = &MM_to_Modif    
    }
  }
}

Var 2257, static, Link IOCARD_SW, Device 16, Input 3, Type P     // Button +
{
  IF &Modif_HHMM = 1     // if modification of hours activated
  {
    &HH_to_Modif = &HH_to_Modif + 1
    IF &HH_to_Modif > 23
    {
      &HH_to_Modif = 0    
    }
    &DispUpLeft = &HH_to_Modif    
  }
  IF &Modif_HHMM = 2     // if modification of minutes activated
  {
    &MI_to_Modif = &MI_to_Modif + 1
    IF &MI_to_Modif > 59
    {
      &MI_to_Modif = 0    
    }
    &DispUpRight = &MI_to_Modif    
  }
  IF &Modif_DMY = 1     // if modification of day activated
  {
    &DD_to_Modif = &DD_to_Modif + 1
    IF &DD_to_Modif > &Limit_DD_Mes
    {
      &DD_to_Modif = 1    
    }
    &DispUpLeft = &DD_to_Modif    
  }
  IF &Modif_DMY = 2     // if modification of month activated
  {
    &MM_to_Modif = &MM_to_Modif + 1
    IF &MM_to_Modif > 12
    {
      &MM_to_Modif = 1    
    }
    &DispUpRight = &MM_to_Modif    
  }
  IF &Modif_DMY = 3     // if modification of year activated
  {
    &YR_to_Modif = &YR_to_Modif + 1
    &DispUpTot = &YR_to_Modif    
  }
}

Var 2256, static, Link IOCARD_SW, Device 16, Input 4, Type P     // button -
{
  IF &Modif_HHMM = 1     // if modification of hours activated
  {
    &HH_to_Modif = &HH_to_Modif - 1
    IF &HH_to_Modif < 0
    {
      &HH_to_Modif = 23    
    }
    &DispUpLeft = &HH_to_Modif    
  }
  IF &Modif_HHMM = 2     // if modification of minutes activated
  {
    &MI_to_Modif = &MI_to_Modif - 1
    IF &MI_to_Modif < 0
    {
      &MI_to_Modif = 59    
    }
    &DispUpRight = &MI_to_Modif    
  }
  IF &Modif_DMY = 1     // if modification of day activated
  {
    &DD_to_Modif = &DD_to_Modif - 1
    IF &DD_to_Modif < 1
    {
      &DD_to_Modif = &Limit_DD_Mes    
    }
    &DispUpLeft = &DD_to_Modif    
  }
  IF &Modif_DMY = 2     // if modification of month activated
  {
    &MM_to_Modif = &MM_to_Modif - 1
    IF &MM_to_Modif < 1
    {
      &MM_to_Modif = 12    
    }
    &DispUpRight = &MM_to_Modif    
  }
  IF &Modif_DMY = 3     // if modification of year activated
  {
    &YR_to_Modif = &YR_to_Modif - 1
    &DispUpTot = &YR_to_Modif    
  }
}

Var 0644, name ChkGapYear, Link SUBRUTINE     // test if year is a gap year Schaltjahr
{
  L0 = MOD &UtcYear ,4     // L0 is rest of division by 4
  IF L0 > 0
  {
    &ChkGapYear = 0         // no gap year 2011 2013 2014 2015 ...
  }
  ELSE
  {
    L0 = MOD &UtcYear ,400
    IF L0 > 0
    {
      L0 = MOD &UtcYear ,100
      IF L0 = 0
      {
        &ChkGapYear = 0         // no gap year 1900 2100 2200 ...
      }
      ELSE
      {
        &ChkGapYear = 1         // gap year 2008 2012 2016 ...
      }
    }
    ELSE
    {
      &ChkGapYear = 1         // gap year 1600 2000 2400 ...
    }
  }
}

Var 0645, name ChkDays, Link SUBRUTINE     // calculate day/month and day/year
{
  IF &MM_to_Modif = 1     // JAN 31
  {
    &DayofYear = &DD_to_Modif    
    &Limit_DD_Mes = 31    
  }
  IF &MM_to_Modif = 2     // FEB 28
  {
    &DayofYear = &DD_to_Modif + 31
    &Limit_DD_Mes = 28 + &ChkGapYear
  }
  IF &MM_to_Modif = 3     // MAR 31
  {
    &DayofYear = &DD_to_Modif + 59
    &Limit_DD_Mes = 31    
  }
  IF &MM_to_Modif = 4     // APR 30
  {
    &DayofYear = &DD_to_Modif + 90
    &Limit_DD_Mes = 30    
  }
  IF &MM_to_Modif = 5     // MAY 31
  {
    &DayofYear = &DD_to_Modif + 120
    &Limit_DD_Mes = 31    
  }
  IF &MM_to_Modif = 6     // JUN 30
  {
    &DayofYear = &DD_to_Modif + 151
    &Limit_DD_Mes = 30    
  }
  IF &MM_to_Modif = 7     // JUL 31
  {
    &DayofYear = &DD_to_Modif + 181
    &Limit_DD_Mes = 31    
  }
  IF &MM_to_Modif = 8     // AUG 31
  {
    &DayofYear = &DD_to_Modif + 212
    &Limit_DD_Mes = 31    
  }
  IF &MM_to_Modif = 9     // SEP 30
  {
    &DayofYear = &DD_to_Modif + 243
    &Limit_DD_Mes = 30    
  }
  IF &MM_to_Modif = 10     // OCT 31
  {
    &DayofYear = &DD_to_Modif + 273
    &Limit_DD_Mes = 31    
  }
  IF &MM_to_Modif = 11     // NOV 30
  {
    &DayofYear = &DD_to_Modif + 304
    &Limit_DD_Mes = 30    
  }
  IF &MM_to_Modif = 12     // DEC 31
  {
    &DayofYear = &DD_to_Modif + 334
    &Limit_DD_Mes = 31    
  }
  IF &MM_to_Modif > 1     // in a gap year add 1 but not for January
  {
    &DayofYear = &DayofYear + &ChkGapYear
  }
  &UtcMonth = &MM_to_Modif    
  &UtcDay = &DD_to_Modif    
}

Var 0646, name ChrState, Value 0

Var 0647, name EtState, Value 0

Var 0648, name M_MOTOR, Link IOCARD_MOTOR, Device 16, Output 1, Aceleration 200

Var 0649, name DispDownLeft, Link IOCARD_DISPLAY, Device 16, Digit 6, Numbers 2     // Down Displays CHR - ET -> Min

Var 0650, name DispDownRight, Link IOCARD_DISPLAY, Device 16, Digit 4, Numbers 2     // Down Displays CHR - ET

Var 0651, name DecimalC, Link IOCARD_OUT, Device 16, Output 21

Var 0652, name DecimalD, Link IOCARD_OUT, Device 16, Output 22

Var 0653, name SecondNeedle
{
  IF &SecondNeedle = 60
  {
    &SecondNeedle = 0    
  }
  L0 = 4065 / 60
  L0 = L0 * &SecondNeedle
  &M_MOTOR = ROUND L0
}

Var 0654, name ChrHour     // accumulator of chrono hours

Var 0655, name ChrMin     // accumulator of chrono minutes

Var 0656, name ChrSec     // accumulator of chrono seconds counted up
{
  IF &ChrSec = 60
  {
    &ChrMin = &ChrMin + 1
    &ChrSec = 0    
    IF &ChrMin = 60
    {
      &ChrMin = 0    
      &ChrHour = &ChrHour + 1
    }
  }
}

Var 0657, name EtHour     // accumulator hours of ET Elapsed Time

Var 0658, name EtMin     // accumulator minutes of ET

Var 0659, name EtSec     // accumulator seconds of ET counted up in
{
  IF &EtSec = 60
  {
    &EtMin = &EtMin + 1
    &EtSec = 0    
    IF &EtMin = 60
    {
      &EtMin = 0    
      &EtHour = &ChrHour + 1
    }
  }
}

Var 2254, name SW_CHR, static, Link IOCARD_SW, Device 16, Input 0, Type P     // button CHR
{
  &ChrState = &ChrState + 1
  IF &ChrState = 3
  {
    &ChrState = 0    
  }
}

Var 2255, name SW_ET, static, Link IOCARD_SW, Device 16, Input 6, Type P     // button ET
{
  &ResetFlag = 0         // cancels reset
  &EtState = &EtState + 1
  IF &EtState = 3
  {
    &EtState = 1         // toggle between run and stop
  }
}

Var 0660, name ResetFlag

Var 2258, name EtReset, static, Link IOCARD_SW, Device 16, Input 5, Type P     // button RST
{
  &EtState = 2         // stop timer
  &ResetFlag = 1         // enables reset
  &ResetDelay = 0    
  &ResetDelay = DELAY 1 ,500     // reset is delayed by 5 sec.
}

Var 0661, name ResetDelay
{
  IF &ResetDelay = 1
  {
    IF &ResetFlag = 1
    {
      &EtState = 0         // ET counter reset
      &EtHour = 0    
      &EtMin = 0    
      &EtSec = 0    
      &DecimalC = 0    
    }
  }
}

Var 0662, Value 0     // Initialisation of variables
{
  &TdyState2 = 1         // Display local time
  &Modif_DMY2 = 0         // no modification
  &Modif_HHMM2 = 0         // no modification
  &D_CHRBRIGHT2 = 60         // Display illuminance
}

Var 0663, name D_CHRBRIGHT2, Link IOCARD_DISPLAY, Device 26, Digit 16, Numbers 3

Var 0664, name DispUpTot2, Link IOCARD_DISPLAY, Device 26, Digit 0, Numbers 4     // Upper display

Var 0665, name DispUpLeft2, Link IOCARD_DISPLAY, Device 26, Digit 2, Numbers 2

Var 0666, name DispUpRight2, Link IOCARD_DISPLAY, Device 26, Digit 0, Numbers 2

Var 0667, name DecimalU2, Link IOCARD_OUT, Device 26, Output 20

Var 0668, name TdyState2     // State for Time/Date button

Var 0669, name Modif_DMY2     // Activate modification day/month/year

Var 0670, name Modif_HHMM2     // Activate modification hour/minutes

Var 0671, name FsSec     // changed by UTC time in seconds
{
  IF &MIP_POWER_ON = 0
  {
    &DispUpTot2 = -999999    
    &DispUpLeft2 = -999999    
    &DispUpRight2 = -999999    
    &DispDownLeft2 = -999999    
    &DispDownRight2 = -999999    
    &DecimalU2 = 0    
    &DecimalC2 = 0    
    &DecimalD2 = 0    
  }
  ELSE
  {
    IF &TdyState2 = 1     // local time
    {
      &DecimalU2 = 0    
      IF &Modif_HHMM2 = 0     // modifications off
      {
        &DispUpLeft2 = &LocHour    
        &DispUpRight2 = &LocMin    
        &DecimalU2 = 1    
        &DecimalU2 = DELAY 0 ,50
      }
      IF &Modif_HHMM2 = 1     // modification of hours is on
      {
        &DispUpLeft2 = &HH_to_Modif    
        &DispUpLeft2 = DELAY -999999 ,50
        &DispUpRight2 = &MI_to_Modif    
      }
      IF &Modif_HHMM2 = 2     // modification of minutes is on
      {
        &DispUpRight2 = &MI_to_Modif    
        &DispUpRight2 = DELAY -999999 ,50
        &DispUpLeft2 = &HH_to_Modif    
      }
    }
    IF &TdyState2 = 2     // local day/month or year
    {
      IF &Modif_DMY2 = 0     // modifications off
      {
        L0 = MOD &FsSec ,2
        IF L0 = 0
        {
          &DispUpTot2 = -999999    
          &DispUpTot2 = &LocYear    
          &DecimalU2 = 0    
        }
        ELSE
        {
          &DispUpLeft2 = -999999    
          &DispUpRight2 = -999999    
          &DispUpLeft2 = &LocDay    
          &DispUpRight2 = &LocMonth    
          &DecimalU2 = 1    
        }
      }
      IF &Modif_DMY2 = 1     // modification of day on
      {
        &DecimalU2 = 1    
        &DispUpRight2 = -999999    
        &DispUpRight2 = &MM_to_Modif    
        &DispUpLeft2 = &DD_to_Modif    
        &DispUpLeft2 = DELAY -999999 ,50
      }
      IF &Modif_DMY2 = 2     // modification of month on
      {
        &DecimalU2 = 1    
        &DispUpLeft2 = &DD_to_Modif    
        &DispUpRight2 = &MM_to_Modif    
        &DispUpRight2 = DELAY -999999 ,50
      }
      IF &Modif_DMY2 = 3     // modification of year on
      {
        &DecimalU2 = 0    
        &DispUpTot2 = &YR_to_Modif    
        &DispUpTot2 = DELAY -999999 ,50
      }
    }
    IF &TdyState2 = 3     // UTC time
    {
      &DispUpLeft2 = &UtcHour    
      &DispUpRight2 = &UtcMin    
      &DecimalU2 = 1    
      &DecimalU2 = DELAY 0 ,10
    }
    IF &TdyState2 = 4     // UTC day/month and year
    {
      L0 = MOD &FsSec ,2
      IF L0 = 0
      {
        &DispUpTot2 = -999999    
        &DispUpTot2 = &UtcYear    
        &DecimalU2 = 0    
      }
      ELSE
      {
        &DispUpLeft2 = -999999    
        &DispUpRight2 = -999999    
        &DispUpLeft2 = &UtcDay    
        &DispUpRight2 = &UtcMonth    
        &DecimalU2 = 1    
      }
    }
    IF &ChrState2 = 1
    {
      &ChrSec2 = &ChrSec2 + 1
      &SecondNeedle2 = &SecondNeedle2 + 1
      &DecimalD2 = 0    
      &DecimalD2 = DELAY 1 ,50
    }
    IF &EtState2 = 1
    {
      &EtSec2 = &EtSec2 + 1
      &DecimalC2 = 0    
      &DecimalC2 = DELAY 1 ,50
    }
    IF &ChrState2 > 0
    {
      &DispDownRight2 = &ChrMin2    
      IF &ChrHour > 0
      {
        &DispDownLeft2 = &ChrHour2    
      }
      ELSE
      {
        &DispDownLeft2 = -999999    
      }
    }
    ELSE
    {
      &ChrHour2 = 0         // reset CHR
      &ChrMin2 = 0    
      &ChrSec2 = 0    
      &SecondNeedle2 = 0    
      &DecimalD2 = 0    
      IF &EtState2 > 0
      {
        IF &EtHour2 = 0
        {
          &DispDownRight2 = &EtSec2    
          &DispDownLeft2 = &EtMin2    
        }
        ELSE
        {
          &DispDownRight2 = &EtMin2    
          &DispDownLeft2 = &EtHour2    
        }
      }
      ELSE     // Neither CHR nor ET active
      {
        &DispDownLeft2 = -999999    
        &DispDownRight2 = -999999    
        &DecimalC2 = 0    
      }
    }
  }
}

Var 2267, name TdySw2, static, Link IOCARD_SW, Device 26, Input 1, Type P     // button Time/Date
{
  &TdyState2 = &TdyState2 + 1     // cycling content of upper display
  &Modif_DMY2 = 0         // reset modifying of day/month/year
  &Modif_HHMM2 = 0         // reset modifying of minutes/hours
  IF &TdyState2 > 4     // check if outside limit of cycle
  {
    &TdyState2 = 1         // if yes put it back to 1
  }
}

Var 2266, name SW_SET2, static, Link IOCARD_SW, Device 26, Input 2, Type P     // button SET
{
  IF &TdyState2 = 1     // local time selected
  {
    &Modif_HHMM2 = &Modif_HHMM2 + 1
    IF &Modif_HHMM2 = 1
    {
      &HH_to_Modif = &LocHour         // transfer hour into variable to be modifi
      &MI_to_Modif = &LocMin         // transfer minutes into variable to be mod
    }
    IF &Modif_HHMM2 = 3
    {
      &Modif_HHMM2 = 0         // close modification and go back to displa
      &LocHour = &HH_to_Modif    
      &LocMin = &MI_to_Modif    
    }
  }
  IF &TdyState2 = 2     // local day/month and year selected
  {
    &Modif_DMY2 = &Modif_DMY2 + 1
    IF &Modif_DMY2 = 1
    {
      &DD_to_Modif = &LocDay         // transfer day into variable to be modifie
      &MM_to_Modif = &LocMonth         // transfer month into variable to be modif
      &YR_to_Modif = &LocYear         // transfer year into variable to be modifi
      CALL &ChkGapYear     // test if it is a gap year
      CALL &ChkDays
    }
    IF &Modif_DMY2 = 4
    {
      &Modif_DMY2 = 0         // close modification and store new values
      &LocDay = &DD_to_Modif    
      &LocMonth = &MM_to_Modif    
    }
  }
}

Var 2264, static, Link IOCARD_SW, Device 26, Input 3, Type P     // Button +
{
  IF &Modif_HHMM2 = 1     // if modification of hours activated
  {
    &HH_to_Modif = &HH_to_Modif + 1
    IF &HH_to_Modif > 23
    {
      &HH_to_Modif = 0    
    }
    &DispUpLeft2 = &HH_to_Modif    
  }
  IF &Modif_HHMM2 = 2     // if modification of minutes activated
  {
    &MI_to_Modif = &MI_to_Modif + 1
    IF &MI_to_Modif > 59
    {
      &MI_to_Modif = 0    
    }
    &DispUpRight2 = &MI_to_Modif    
  }
  IF &Modif_DMY2 = 1     // if modification of day activated
  {
    &DD_to_Modif = &DD_to_Modif + 1
    IF &DD_to_Modif > &Limit_DD_Mes
    {
      &DD_to_Modif = 1    
    }
    &DispUpLeft2 = &DD_to_Modif    
  }
  IF &Modif_DMY2 = 2     // if modification of month activated
  {
    &MM_to_Modif = &MM_to_Modif + 1
    IF &MM_to_Modif > 12
    {
      &MM_to_Modif = 1    
    }
    &DispUpRight2 = &MM_to_Modif    
  }
  IF &Modif_DMY2 = 3     // if modification of year activated
  {
    &YR_to_Modif = &YR_to_Modif + 1
    &DispUpTot2 = &YR_to_Modif    
  }
}

Var 2263, static, Link IOCARD_SW, Device 26, Input 4, Type P     // button -
{
  IF &Modif_HHMM2 = 1     // if modification of hours activated
  {
    &HH_to_Modif = &HH_to_Modif - 1
    IF &HH_to_Modif < 0
    {
      &HH_to_Modif = 23    
    }
    &DispUpLeft2 = &HH_to_Modif    
  }
  IF &Modif_HHMM2 = 2     // if modification of minutes activated
  {
    &MI_to_Modif = &MI_to_Modif - 1
    IF &MI_to_Modif < 0
    {
      &MI_to_Modif = 59    
    }
    &DispUpRight2 = &MI_to_Modif    
  }
  IF &Modif_DMY2 = 1     // if modification of day activated
  {
    &DD_to_Modif = &DD_to_Modif - 1
    IF &DD_to_Modif < 1
    {
      &DD_to_Modif = &Limit_DD_Mes    
    }
    &DispUpLeft2 = &DD_to_Modif    
  }
  IF &Modif_DMY2 = 2     // if modification of month activated
  {
    &MM_to_Modif = &MM_to_Modif - 1
    IF &MM_to_Modif < 1
    {
      &MM_to_Modif = 12    
    }
    &DispUpRight2 = &MM_to_Modif    
  }
  IF &Modif_DMY2 = 3     // if modification of year activated
  {
    &YR_to_Modif = &YR_to_Modif - 1
    &DispUpTot2 = &YR_to_Modif    
  }
}

Var 0672, name ChrState2, Value 0

Var 0673, name EtState2, Value 0

Var 0674, name M_MOTOR2, Link IOCARD_MOTOR, Device 26, Output 1, Aceleration 200

Var 0675, name DispDownLeft2, Link IOCARD_DISPLAY, Device 26, Digit 6, Numbers 2     // Down Displays CHR - ET -> Min

Var 0676, name DispDownRight2, Link IOCARD_DISPLAY, Device 26, Digit 4, Numbers 2     // Down Displays CHR - ET

Var 0677, name DecimalC2, Link IOCARD_OUT, Device 26, Output 21

Var 0678, name DecimalD2, Link IOCARD_OUT, Device 26, Output 22

Var 0679, name SecondNeedle2
{
  IF &SecondNeedle2 = 60
  {
    &SecondNeedle2 = 0    
  }
  L0 = 4065 / 60
  L0 = L0 * &SecondNeedle2
  &M_MOTOR2 = ROUND L0
}

Var 0680, name ChrHour2     // accumulator of chrono hours

Var 0681, name ChrMin2     // accumulator of chrono minutes

Var 0682, name ChrSec2     // accumulator of chrono seconds counted up
{
  IF &ChrSec2 = 60
  {
    &ChrMin2 = &ChrMin2 + 1
    &ChrSec2 = 0    
    IF &ChrMin2 = 60
    {
      &ChrMin2 = 0    
      &ChrHour2 = &ChrHour2 + 1
    }
  }
}

Var 0683, name EtHour2     // accumulator hours of ET Elapsed Time

Var 0684, name EtMin2     // accumulator minutes of ET

Var 0685, name EtSec2     // accumulator seconds of ET counted up in
{
  IF &EtSec2 = 60
  {
    &EtMin2 = &EtMin2 + 1
    &EtSec2 = 0    
    IF &EtMin2 = 60
    {
      &EtMin2 = 0    
      &EtHour2 = &ChrHour2 + 1
    }
  }
}

Var 2261, name SW_CHR2, static, Link IOCARD_SW, Device 26, Input 0, Type P     // button CHR
{
  &ChrState2 = &ChrState2 + 1
  IF &ChrState2 = 3
  {
    &ChrState2 = 0    
  }
}

Var 2262, name SW_ET2, static, Link IOCARD_SW, Device 26, Input 6, Type P     // button ET
{
  &ResetFlag2 = 0         // cancels reset
  &EtState2 = &EtState2 + 1
  IF &EtState2 = 3
  {
    &EtState2 = 1         // toggle between run and stop
  }
}

Var 0686, name ResetFlag2

Var 2265, name EtReset2, static, Link IOCARD_SW, Device 26, Input 5, Type P     // button RST
{
  &EtState2 = 2         // stop timer
  &ResetFlag2 = 1         // enables reset
  &ResetDelay2 = 0    
  &ResetDelay2 = DELAY 1 ,500     // reset is delayed by 5 sec.
}

Var 0687, name ResetDelay2
{
  IF &ResetDelay2 = 1
  {
    IF &ResetFlag2 = 1
    {
      &EtState2 = 0         // ET counter reset
      &EtHour2 = 0    
      &EtMin2 = 0    
      &EtSec2 = 0    
      &DecimalC2 = 0    
    }
  }
}

Var 0688, name BlankOrLit

Var 0689, name BlinkDis
{
  IF &BlinkDis <> 0
  {
    CALL &DISPLAYS_ONOFF
  }
  L0 = MOD &BlinkDis ,2
  IF L0 = 0
  {
    &BlankOrLit = -999999    
  }
  ELSE
  {
    &BlankOrLit = 888888    
  }
}

Var 1316, name LIGHT_TEST_ON, static
{
  IF &LIGHT_TEST_ON = 0
  {
    &BlankOrLit = -999999    
    &BlinkDis = 500000         // begin value of timer
    &BlinkDis = TIMER 0 ,-1 ,100
  }
  ELSE
  {
    &BlinkDis = 1         // equal to end value of timer 0 + 1
    CALL &MCP_REFRESH
    CALL &PED_REFRESH
    CALL &OVH_FWD_REFR
    CALL &OVH_AFT_REFR
  }
}

Var 0690, name DISPLAYS_ONOFF, Link SUBRUTINE
{
  IF &MCP_POWER_ON = 1
  {
    &D_CrsL = &BlankOrLit    
    &D_IAS = &BlankOrLit    
    &D_IAS3 = &BlankOrLit    
    &D_IAS_IND = &BlankOrLit         // Not working show _ and not 8 when in lig
    &D_MACHDP = 0    
    &D_Hdg = &BlankOrLit    
    &D_ALT = &BlankOrLit    
    &D_ALTL0 = &BlankOrLit    
    &D_ALTL00 = &BlankOrLit    
    &D_VSS = &BlankOrLit    
    &D_VS3 = &BlankOrLit    
    &D_VS4 = &BlankOrLit    
    &D_VS = &BlankOrLit    
    &D_CrsR = &BlankOrLit    
  }
  IF &COM1_Power_ON = 1
  {
    &D_AC_COM1 = &BlankOrLit    
    &D_ST_COM1 = &BlankOrLit    
  }
  IF &NAV1_Power_ON = 1
  {
    IF &BlankOrLit = -999999
    {
      &D_AC_NAV1 = 888888    
      &D_ST_NAV1 = 888888    
    }
    ELSE
    {
      &D_AC_NAV1 = -999999    
      &D_ST_NAV1 = -999999    
    }
  }
  IF &COM2_Power_ON = 1
  {
    &D_AC_COM2 = &BlankOrLit    
    &D_ST_COM2 = &BlankOrLit    
  }
  IF &NAV2_Power_ON = 1
  {
    IF &BlankOrLit = -999999
    {
      &D_AC_NAV2 = 888888    
      &D_ST_NAV2 = 888888    
    }
    ELSE
    {
      &D_AC_NAV2 = -999999    
      &D_ST_NAV2 = -999999    
    }
  }
  IF &ADF_Power_ON = 1
  {
    CALL &AdfAll
  }
  IF &ATC_Power_ON = 1
  {
    &AtcDsp = 888888    
  }
  CALL &LeflAllOn
  CALL &LT_OVH_FWD
  IF &AUDI1_POWER_ON    
  {
    IF &BlankOrLit = -999999
    {
      &aAU1VH1MI = 1    
      &aAU1VH2MI = 1    
    }
    ELSE
    {
      &aAU1VH1MI = 0    
      &aAU1VH2MI = 0    
    }
  }
  IF &AUDI2_POWER_ON    
  {
    IF &BlankOrLit = -999999
    {
      &aAU2VH1MI = 1    
      &aAU2VH2MI = 1    
    }
    ELSE
    {
      &aAU2VH1MI = 0    
      &aAU2VH2MI = 0    
    }
  }
  IF &AUDI3_POWER_ON    
  {
    IF &BlankOrLit = -999999
    {
      &aAU3VH1MI = 1    
      &aAU3VH2MI = 1    
    }
    ELSE
    {
      &aAU3VH1MI = 0    
      &aAU3VH2MI = 0    
    }
  }
}

Var 0691, name LT_OVH_FWD, Link SUBRUTINE
{
  &LA1 = 8    
  &LA2 = 8    
  &LA3 = 8    
  &LA4 = 8    
  &LA5 = 8    
  &FA1 = 8    
  &FA2 = 8    
  &FA3 = 8    
  &FA4 = 8    
  &FA5 = 8    
}

Var 0692, name PED_REFRESH, Link SUBRUTINE
{
  CALL &COM1_Power_ON
  CALL &COM2_Power_ON
  CALL &NAV1_Power_ON
  CALL &NAV2_Power_ON
  CALL &ADF_Power_ON
  CALL &ATC_Power_ON
  CALL &AUDI1_POWER_ON
  CALL &AUDI2_POWER_ON
}

Var 0693, name OVH_AFT_REFR, Link SUBRUTINE
{
  CALL &AUDI3_POWER_ON
  CALL &AllOffL
  CALL &AllOffR
  CALL &FlapsDisplayL
  CALL &FlapsDisplayR
}

Var 0694, name OVH_FWD_REFR, Link SUBRUTINE
{
  CALL &FlLaAlt
}
